【发布时间】:2023-01-07 20:38:28
【问题描述】:
我继承了一个巨大的 pyspark 项目,而不是使用 Databricks UI 进行开发,我想通过 databricks-connect 使用 vscode。因此,我无法确定以下方面的最佳做法:
-
因为项目文件在 repos 中保存为 .py,所以当我使用 VSCode 打开它们时,它无法识别 databricks 魔术命令,如运行。所以我无法运行任何使用
%run ./PATH/TO-ANOTHER-FILE调用另一个笔记本的单元格。将文件更改为 .ipynb 或将调用更改为dbutils.notebook.run将解决问题,但这将意味着更改近 20 个笔记本中的单元格。使用 dbutils 也带来了下一个挑战。 -
由于 Databricks 在幕后为您创建了 Spark 会话,因此在 Databricks UI 中编码时无需使用
spark = SparkSession.builder.getOrCreate()。但是当使用 databricks connect 时,您将不得不手动创建一个连接到远程集群的 SparkSession。这意味着我要使用 dbutils 必须执行以下操作:from pyspark.dbutils import DBUtils dbutils = DBUtils(spark)
更改整个代码库以适应我首选的开发策略似乎是不合理的。关于如何规避此问题的任何指示?
【问题讨论】:
-
你考虑过在 VsCode 上使用这个扩展吗?它允许逐个单元执行和许多其他方便的功能:github.com/paiqo/Databricks-VSCode
标签: visual-studio-code pyspark databricks databricks-connect