python - 在 Databricks 中导入笔记本

标签 python python-import databricks databricks-connect

我正在使用 databricks-connect 和 VS Code 为 Databricks 开发一些 python 代码。

我想使用 databricks-connect 直接从 VS Code 编写代码并运行/测试所有内容,以避免处理 Databricks web IDE。对于基本笔记本,它工作得很好,但我想对多个笔记本做同样的事情并使用导入(例如,在另一个笔记本中使用 import config-notebook)。

但是,在 VS Code 中,import another-notebook 工作正常,但在 Databricks 中不起作用。 据我所知,Databricks 中的替代方法是 %run "another-notebook" 但如果我想从 VS Code 运行它(databricks-connect 不包括笔记本工作流),它就不起作用。

有没有什么方法可以使笔记本导入既可以在 Databricks 中运行,又可以由 databricks-connect 支持?

非常感谢您的回答!

最佳答案

我找到了一个解决方案,它用 try ... except 完成@Kashyap 提到的部分。

包含 %run 命令的笔记本的 python 文件应该如下所示:

# Databricks notebook source
# MAGIC %run "another-notebook"

# COMMAND ----------

try:
    import another-notebook
except ModuleNotFoundError:
    print("running on Databricks")

import standard-python-lib

# Some very interesting code

# MAGIC %run 避免在 Python 中执行时出现 SyntaxError 并告诉 Databricks 它是 Python 笔记本中的 Magic 命令。 这样,无论脚本是通过 databricks-connect 在 Python 中执行还是在 Databricks 中执行,它都会起作用。

关于python - 在 Databricks 中导入笔记本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69633404/

相关文章:

Python3 将十六进制值列表转换为字节

python - 为什么有时我可以使用嵌套模块中的函数而无需导入整个路径?

python - 如何获取python导入树

python - matplotlib 中的 LaTeX 标签不一致

python - 简化sympy中双曲函数的指数表示

python - PIL 并不总是为 PNG 使用 3 个 channel

python - 从具有依赖关系的模块导入函数而不引发 ImportErrors

python - 在 Spark 数据框中拆分列

Azure Databricks - 无法将结果从 Databricks 导出到 blob