适用于 Python 的 Databricks Connect
注意
本文介绍适用于 Databricks Runtime 13.3 LTS 及更高版本的 Databricks Connect。
本文演示如何使用 Python 和 PyCharm 快速开始使用 Databricks Connect。
- 有关本文的 R 版本,请参阅适用于 R 的 Databricks Connect。
- 有关本文的 Scala 版本,请参阅适用于 Scala 的 Databricks Connect。
可以使用 Databricks Connect 将热门的 IDE(例如 PyCharm、笔记本服务器和其他自定义应用程序)连接到 Azure Databricks 群集。 请参阅什么是 Databricks Connect?。
教程
若要跳过此教程并使用其他 IDE,请参阅后续步骤。
要求
若要完成此教程,必须满足以下要求:
- 目标 Azure Databricks 工作区必须启用 Unity Catalog。
- 已安装 PyCharm。 本教程已使用 PyCharm Community Edition 2023.3.5 进行测试。 如果使用不同版本的 PyCharm,则以下说明可能有所不同。
- 你的计算满足适用于 Python 的 Databricks Connect 安装要求。
- 如果你使用经典计算,则需要群集的 ID。 若要获取群集 ID,请在工作区中单击边栏上的“计算”,然后单击群集的名称。 在 Web 浏览器的地址栏中,复制 URL 中
clusters
和configuration
之间的字符字符串。
步骤 1:配置 Azure Databricks 身份验证
本教程使用 Azure Databricks OAuth 用户到计算机 (U2M) 身份验证和 Azure Databricks 配置文件向 Azure Databricks 工作区进行身份验证。 若要使用其他身份验证类型,请参阅配置连接属性。
配置 OAuth U2M 身份验证需要 Databricks CLI,如下所示:
如果尚未安装,请安装 Databricks CLI,如下所示:
Linux、macOS
运行以下两个命令,使用 Homebrew 安装 Databricks CLI:
brew tap databricks/tap brew install databricks
Windows
可以使用 winget、Chocolatey 或适用于 Linux 的 Windows 子系统 (WSL) 安装 Databricks CLI。 如果无法使用
winget
、Chocolatey 或 WSL,则应跳过此过程,改为使用命令提示符或 PowerShell 从源安装 Databricks CLI。注意
使用 Chocolatey 安装 Databricks CLI 是试验性的。
若要使用
winget
安装 Databricks CLI,请运行以下两个命令,然后重启命令提示符:winget search databricks winget install Databricks.DatabricksCLI
若要使用 Chocolatey 安装 Databricks CLI,请运行以下命令:
choco install databricks-cli
若要使用 WSL 安装 Databricks CLI:
通过 WSL 安装
curl
和zip
。 有关详细信息,请参阅操作系统文档。使用 WSL 通过运行以下命令来安装 Databricks CLI:
curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
通过运行以下命令确认安装了 Databricks CLI,该命令显示已安装的 Databricks CLI 的当前版本。 此版本应为 0.205.0 或更高版本:
databricks -v
注意
如果运行
databricks
但收到错误(如command not found: databricks
),或者如果运行databricks -v
而列出的版本号为 0.18 或更低,则表示计算机找不到正确版本的 Databricks CLI 可执行文件。 若要修复此问题,请参阅验证 CLI 安装。
启动 OAuth U2M 身份验证,如下所示:
通过对每个目标工作区运行以下命令,使用 Databricks CLI 在本地启动 OAuth 令牌管理。
在以下命令中,将
<workspace-url>
替换为 Azure Databricks 每工作区 URL,例如https://adb-1234567890123456.7.azuredatabricks.net
。databricks auth login --configure-cluster --host <workspace-url>
Databricks CLI 会提示将输入的信息保存为 Azure Databricks 配置文件。 按
Enter
接受建议的配置文件名称,或输入新的或现有的配置文件的名称。 任何具有相同名称的现有配置文件都会被输入的信息覆盖。 可以使用配置文件在多个工作区之间快速切换身份验证上下文。若要获取任何现有配置文件的列表,请在单独的终端或命令提示符中使用 Databricks CLI 来运行
databricks auth profiles
命令。 若要查看特定配置文件的现有设置,请运行databricks auth env --profile <profile-name>
命令。在 Web 浏览器中,按照屏幕上的说明登录到 Azure Databricks 工作区。
通过终端或命令提示符,在显示的可用群集列表中,使用向上键和向下键选择工作区中的目标 Azure Databricks 群集,然后按
Enter
。 还可以键入群集显示名称的任意部分来筛选可用群集的列表。若要查看配置文件的当前 OAuth 令牌值和令牌的即将到期的到期时间戳,请运行以下命令之一:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
如果你有多个配置文件有相同的
--host
值,则可能需要同时指定--host
和-p
选项,以便 Databricks CLI 找到正确的、匹配的 OAuth 令牌信息。
步骤 2:创建项目
- 启动 PyCharm。
- 在主菜单上,单击“文件”>“新建项目”。
- 在“新建项目”对话框中,单击“纯 Python”。
- 对于“位置”,单击文件夹图标,然后完成屏幕说明以指定新 Python 项目的路径。
- 让“创建 main.py 欢迎脚本”保持选中状态。
- 对于“解释器类型”,请单击“项目 venv”。
- 展开“Python 版本”,并使用文件夹图标或下拉列表从上述要求中指定 Python 解释器的路径。
- 单击 “创建” 。
步骤 3:添加 Databricks Connect 包
- 在 PyCharm 的主菜单上,单击“查看 > 工具窗口 > Python 包”。
- 在搜索框中输入
databricks-connect
。 - 在“PyPI 存储库”列表中,单击“databricks-connect”。
- 在结果窗格的“最新”下拉列表中,选择与群集的 Databricks Runtime 版本匹配的版本。 例如,如果群集已安装 Databricks Runtime 14.3,请选择 14.3.1。
- 单击“安装包”。
- 安装包后,可以关闭“Python 包”窗口。
步骤 4:添加代码
在“项目”工具窗口中,右键点击项目的根文件夹,然后点击“新建 > Python 文件”。
输入
main.py
并双击“Python 文件”。依据配置文件的名称,在文件中输入以下代码,然后保存文件。
如果步骤 1 中的配置文件已命名为
DEFAULT
,请在文件中输入以下代码,然后保存文件:from databricks.connect import DatabricksSession spark = DatabricksSession.builder.getOrCreate() df = spark.read.table("samples.nyctaxi.trips") df.show(5)
如果步骤 1 中的配置文件没有命名为
DEFAULT
,请改为在文件中输入以下代码。 替换占位符<profile-name>
为步骤 1 中配置文件的名称,然后保存文件:from databricks.connect import DatabricksSession spark = DatabricksSession.builder.profile("<profile-name>").getOrCreate() df = spark.read.table("samples.nyctaxi.trips") df.show(5)
步骤 5:运行代码
- 在远程 Azure Databricks 工作区中启动目标群集。
- 群集启动后,在主菜单上单击“运行”>“运行‘main’”。
- 在“运行”工具窗口中(“视图”>“工具窗口”>“运行”),在“运行”选项卡的主窗格中,将显示
samples.nyctaxi.trips
的前 5 行。
步骤 6:调试代码
- 群集仍在运行中,在前面的代码中,单击
df.show(5)
旁边的装订线以设置断点。 - 在主菜单上,单击“运行”>“调试‘main’”。
- 在“调试”工具窗口(“查看 > 工具窗口 > 调试”)中,在“调试程序”选项卡的“变量”窗格中展开“df”和“spark”变量节点可浏览有关代码的
df
和spark
变量的信息。 - 在“调试”工具窗口的侧栏中,单击绿色箭头(“恢复程序”)图标。
- 在“调试程序”选项卡的“控制台”窗格中,将显示
samples.nyctaxi.trips
的前 5 行。
后续步骤
若要了解有关 Databricks Connect 的详细信息,请参阅如下文章:
若要使用除 Azure Databricks 个人访问令牌之外的 Azure Databricks 身份验证类型,请参阅配置连接属性。
若要使用其他 IDE、笔记本服务器和 Spark shell,请参阅以下内容:
若要查看更多简单的代码示例,请参阅《适用于 Python 的 Databricks Connect 代码示例》。
若要查看更复杂的代码示例,请参阅 GitHub 中的Databricks Connect 示例应用程序存储库,具体如下:
若要将 Databricks 实用工具与 Databricks Connect 搭配使用,请参阅 Databricks 实用工具搭配适用于 Python 的 Databricks Connect。
若要从适用于 Databricks Runtime 12.2 LTS 及更低版本的 Databricks Connect 迁移到适用于 Databricks Runtime 13.3 LTS 及更高版本的 Databricks Connect,请参阅迁移到适用于 Python 的 Databricks Connect。