适用于 Python 的 Databricks Connect

注意

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

本文演示如何使用 Python 和 PyCharm 快速开始使用 Databricks Connect。

可以使用 Databricks Connect 将热门的 IDE(例如 PyCharm、笔记本服务器和其他自定义应用程序)连接到 Azure Databricks 群集。 请参阅什么是 Databricks Connect?

教程

若要跳过此教程并使用其他 IDE,请参阅后续步骤

要求

若要完成此教程,必须满足以下要求:

  • 目标 Azure Databricks 工作区和群集必须满足 Databricks Connect 群集配置的要求。

  • 必须提供群集 ID。 若要获取你的群集 ID,请在工作区中单击边栏上的“计算”,然后单击群集的名称。 在 Web 浏览器的地址栏中,复制 URL 中 clustersconfiguration 之间的字符串。

  • 已安装 PyCharm

  • 已在开发计算机上安装 Python 3,并且客户端 Python 安装次要版本与 Azure Databricks 群集的次要 Python 版本相同。 下表显示了随每个 Databricks Runtime 一起安装的 Python 版本。

    Databricks Runtime 版本 Python 版本
    13.0 ML - 14.3 ML,
    13.0 - 14.3
    3.10

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

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

配置 OAuth U2M 身份验证需要 Databricks CLI,如下所示:

  1. 如果尚未安装,请安装 Databricks CLI,如下所示:

    Linux、macos

    运行以下两个命令,使用 Homebrew 安装 Databricks CLI:

    brew tap databricks/tap
    brew install databricks
    

    Windows

    可以使用 wingetChocolatey适用于 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:

    1. 通过 WSL 安装 curlzip。 有关详细信息,请参阅操作系统文档。

    2. 使用 WSL 通过运行以下命令来安装 Databricks CLI:

      curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
      
  2. 通过运行以下命令确认安装了 Databricks CLI,该命令显示已安装的 Databricks CLI 的当前版本。 此版本应为 0.205.0 或更高版本:

    databricks -v
    

    注意

    如果运行 databricks 但收到错误(如 command not found: databricks),或者如果运行 databricks -v 而列出的版本号为 0.18 或更低,则表示计算机找不到正确版本的 Databricks CLI 可执行文件。 若要修复此问题,请参阅验证 CLI 安装

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

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

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

    databricks auth login --configure-cluster --host <workspace-url>
    
  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. 单击“使用以下工具新建环境”选项。
  6. 在下拉列表中选择 Virtualenv
  7. 将“位置”保留为文件夹的建议 venv 路径。
  8. 对于“基本解释器”,请使用下拉列表或单击省略号,根据上述要求指定 Python 解释器的路径。
  9. 单击 “创建”

创建 PyCharm 项目

步骤 3:添加 Databricks Connect 包

  1. 在 PyCharm 的主菜单上,单击“查看 > 工具窗口 > Python 包”。
  2. 在搜索框中输入 databricks-connect
  3. 在“PyPI 存储库”列表中,单击“databricks-connect”。
  4. 在结果窗格“的最新”下拉列表中,选择与群集的 Databricks Runtime 版本匹配的版本。 例如,如果群集已安装 Databricks Runtime 13.3 LTS,请选择“13.3.0”
  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. 在“调试”工具窗口(“查看 > 工具窗口 > 调试”)中,在“调试程序”选项卡的“变量”窗格中展开 dfspark 变量节点可浏览有关代码的 dfspark 变量的信息。
  4. 在“调试”工具窗口的侧栏中,单击绿色箭头(恢复程序)图标。
  5. 在“调试程序”选项卡的“控制台”窗格中,将显示 samples.nyctaxi.trips 的前 5 行。

调试 PyCharm 项目

后续步骤

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