使用数据块连接

Using Databricks Connect

我想使用我最喜欢的编辑器在本地编辑 Databricks 笔记本,然后在我通常通过 Web 界面访问的 Databricks 集群上使用 Databricks Connect 远程 运行 笔记本。

不幸的是,在网上搜索了几天后,我找不到关于 Databricks Connect 的详细文档。

I 运行 databricks-connect configure,如上面 PyPI 页面上所建议的,但我不确定某些设置是什么。有人可以引导我完成这个(比如在网络界面中的哪里可以找到这些值)或提供 link 到适当的文档吗?

我知道一些设置应该是什么,但为了完整性和其他人的利益,我将包括 运行 宁 databricks-connect configure 时出现的所有内容。

Databricks Host
Databricks Token
Cluster ID(例如,0921-001415-jelly628
Org ID(仅限 Azure,请参阅 URL 中的 ?o=orgId
Port(是spark.databricks.service.port吗?)

此外,我认为这是我最感兴趣的,我是否需要对笔记本本身进行任何更改,例如定义 SparkContext 或其他内容?如果有,配置是什么?

我又该如何运行呢? 运行宁 databricks-connect configure 之后,似乎没有任何 "magic" 发生。当我 运行 jupyter notebook 时,它仍然 运行 在本地并且似乎不知道将其转发到远程集群。

更新: 如果您想考虑更具体的东西,在 Databricks 的 Web 界面中,dbutils 是一个预定义的对象。 运行远程连接笔记本时如何引用它?

我已经将另一个人的回复标记为答案,但不知为何那个回复现在不见了。

就我而言,官方用户指南有效: https://docs.azuredatabricks.net/user-guide/dev-tools/db-connect.html

简而言之,您需要包括:

spark = SparkSession.builder.getOrCreate()

在脚本的开头。 Notebooks 应该会转换,但是魔术命令(%运行 等)当然不会起作用。

此处提供了有关不起作用的部分的更多详细信息。 https://datathirst.net/blog/2019/3/7/databricks-connect-finally