教程:在经典计算上运行 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 工作区中的经典计算上运行简单代码。

要求

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

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

步骤 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. 在 运行工具 窗口(查看 > 工具窗口 > 运行)的 运行 选项卡的 主 窗格中,会显示 samples.nyctaxi.trips 的前 5 行。

步骤 6:调试代码

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

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

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

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

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

调试 PyCharm 项目