适用于 Python 的 Databricks Connect

注意

本文介绍适用于 Databricks Runtime 13.3 LTS 及更高版本的 Databricks Connect。

本文演示如何使用 Python 和 PyCharm 快速开始使用 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 中 clustersconfiguration 之间的字符字符串。

步骤 1:配置 Azure Databricks 身份验证

本教程使用 Azure Databricks OAuth 用户到计算机 (U2M) 身份验证和 Azure Databricks 配置文件向 Azure Databricks 工作区进行身份验证。 若要使用其他身份验证类型,请参阅配置连接属性

配置 OAuth U2M 身份验证需要 Databricks CLI。 要安装 Databricks CLI 的信息,请参阅安装或更新 Databricks CLI

启动 OAuth U2M 身份验证,如下所示:

  1. 通过对每个目标工作区运行以下命令,使用 Databricks CLI 在本地启动 OAuth 令牌管理。

    在以下命令中,将 <workspace-url> 替换为 Azure Databricks 每工作区 URL,例如 https://adb-1234567890123456.7.azuredatabricks.net

    databricks auth login --configure-cluster --host <workspace-url>
    

    或者,如果要将 Databricks Serverless 计算与 DB Connect 配合使用,请按照配置与无服务器计算的连接中的步骤操作。

  2. Databricks CLI 会提示将输入的信息保存为 Azure Databricks 配置文件。 按 Enter 接受建议的配置文件名称,或输入新的或现有的配置文件的名称。 任何具有相同名称的现有配置文件都会被输入的信息覆盖。 可以使用配置文件在多个工作区之间快速切换身份验证上下文。

    若要获取任何现有配置文件的列表,请在单独的终端或命令提示符中使用 Databricks CLI 来运行 databricks auth profiles 命令。 若要查看特定配置文件的现有设置,请运行 databricks auth env --profile <profile-name> 命令。

  3. 在 Web 浏览器中,按照屏幕上的说明登录到 Azure Databricks 工作区。

  4. 通过终端或命令提示符,在显示的可用群集列表中,使用向上键和向下键选择工作区中的目标 Azure Databricks 群集,然后按 Enter。 还可以键入群集显示名称的任意部分来筛选可用群集的列表。

  5. 若要查看配置文件的当前 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:创建项目

  1. 启动 PyCharm。
  2. 在主菜单上,单击“文件”>“新建项目”
  3. 在“新建项目”对话框中,单击“纯 Python”
  4. 对于“位置”,单击文件夹图标,然后完成屏幕说明以指定新 Python 项目的路径。
  5. 让“创建 main.py 欢迎脚本”保持选中状态
  6. 对于“解释器类型”,请单击“项目 venv”
  7. 展开“Python 版本”,并使用文件夹图标或下拉列表从上述要求中指定 Python 解释器的路径
  8. 单击 “创建”

创建 PyCharm 项目

步骤 3:添加 Databricks Connect 包

  1. 在 PyCharm 的主菜单上,单击“查看 > 工具窗口 > Python 包”。
  2. 在搜索框中输入 databricks-connect
  3. 在“PyPI 存储库”列表中,单击“databricks-connect”。
  4. 在结果窗格的“最新”下拉列表中,选择与群集的 Databricks Runtime 版本匹配的版本。 例如,如果群集已安装 Databricks Runtime 14.3,请选择 14.3.1
  5. 单击“安装包”
  6. 安装包后,可以关闭“Python 包”窗口。

安装 Databricks Connect 包

步骤 4:添加代码

  1. 在“项目”工具窗口中,右键点击项目的根文件夹,然后点击“新建 > Python 文件”。

  2. 输入 main.py 并双击“Python 文件”

  3. 依据配置文件的名称,在文件中输入以下代码,然后保存文件。

    如果步骤 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:运行代码

  1. 在远程 Azure Databricks 工作区中启动目标群集。
  2. 群集启动后,在主菜单上单击“运行”>“运行‘main’”
  3. 在“运行”工具窗口中(“视图”>“工具窗口”>“运行”),在“运行”选项卡的窗格中,将显示 samples.nyctaxi.trips 的前 5 行。

步骤 6:调试代码

  1. 群集仍在运行中,在前面的代码中,单击 df.show(5) 旁边的装订线以设置断点。
  2. 在主菜单上,单击“运行”>“调试‘main’”
  3. 在“调试”工具窗口(“查看 > 工具窗口 > 调试”)中,在“调试程序”选项卡的“变量”窗格中展开“df”和“spark”变量节点可浏览有关代码的 dfspark 变量的信息。
  4. 在“调试”工具窗口的侧栏中,单击绿色箭头(“恢复程序”)图标。
  5. 在“调试程序”选项卡的“控制台”窗格中,将显示 samples.nyctaxi.trips 的前 5 行。

调试 PyCharm 项目

后续步骤

若要了解有关 Databricks Connect 的详细信息,请参阅如下文章: