教程:在经典计算上运行 PyCharm 中的代码

注释

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

Databricks Connect 使你能够将常用 IDE(如 PyCharm、笔记本服务器和其他自定义应用程序)连接到 Azure Databricks 计算。 请参阅什么是 Databricks Connect?

本文演示如何使用 PyCharm 快速开始使用用于 Python 的 Databricks Connect。 你将在 PyCharm 中创建一个项目,安装 Databricks Connect for Databricks Runtime 13.3 LTS 及更高版本,并从 PyCharm 在 Databricks 工作区中的经典计算上运行简单代码。

要求

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

  • 目标 Azure Databricks 工作区必须启用 Unity 目录。
  • 已安装 PyCharm 。 本教程已使用 PyCharm Community Edition 2023.3.5 进行测试。 如果使用不同版本的 PyCharm,则以下说明可能有所不同。
  • 本地环境和计算满足用于 Python 的 Databricks Connect 安装版本要求
  • 如果使用经典计算,则需要群集的 ID。 若要获取群集 ID,请在工作区中单击边栏上的 “计算 ”,然后单击群集的名称。 在 Web 浏览器的地址栏中,复制 URL 之间 clustersconfiguration URL 中的字符字符串。

步骤 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.databricks.azure.cn

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

    小窍门

    若要将无服务器计算与 Databricks 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 的主菜单上,单击 “查看 > 工具 Windows > 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. “运行 工具”窗口(查看 > 工具 Windows > 运行)的“ 运行 ”选项卡 的主 窗格中,将显示前 5 行 samples.nyctaxi.trips

步骤 6:调试代码

  1. 群集仍在运行中,在前面的代码中,单击断点旁边的 df.show(5) 装订线以设置断点。

  2. 在主菜单上,单击“ 运行 > 调试”main”。

  3. “调试 工具”窗口(查看 > 工具 Windows > 调试)的 “调试器 ”选项卡的“ 变量 ”窗格中,展开 dfspark 变量节点以浏览有关代码 dfspark 变量的信息。

  4. “调试 ”工具窗口的边栏中,单击绿色箭头(恢复程序)图标。

  5. “调试器 ”选项卡的 “控制台 ”窗格中,将显示前 5 行 samples.nyctaxi.trips

调试 PyCharm 项目