Databricks 的 VSCode 扩展教程:在群集上运行 Python 以及将其作为作业运行
本教程演示了如何开始使用 Visual Studio Code 的 Databricks 扩展,方法是在远程工作区的 Azure Databricks 群集上运行基本 Python 代码文件,以及将其作为 Azure Databricks 作业运行。 请参阅什么是 Visual Studio Code 的 Databricks 扩展?。
你将在本教程中做什么?
在此动手教程中,你将执行以下操作:
- 创建 Azure Databricks 群集以运行本地 Python 代码。
- 安装 Visual Studio Code 和 Visual Studio Code 的 Databricks 扩展。
- 使用此信息设置 Azure Databricks 身份验证,并配置用于 Visual Studio Code 的 Databricks 扩展。
- 使用有关你的远程群集的信息配置 Visual Studio Code 的 Databricks 扩展,并让扩展启动群集。
- 使用你的远程 Azure Databricks 工作区中的位置配置 Visual Studio Code 的 Databricks 扩展,以便将本地 Python 代码上传到其中,并让扩展开始侦听代码上传事件。
- 编写并保存一些 Python 代码,这会触发代码上传事件。
- 使用 Visual Studio Code 的 Databricks 扩展在远程群集上运行上传的代码,然后使用群集来运行它,将其作为远程作业运行。
本教程仅演示如何运行 Python 代码文件,本教程仅演示如何设置 OAuth 用户到计算机 (U2M) 身份验证。 要了解如何调试 Python 代码文件、运行和调试笔记本,以及如何设置其他身份验证类型,请参阅后续步骤。
步骤 1:创建群集
如果已有要使用的远程 Azure Databricks 群集,请记下群集的名称,并跳到步骤 2 以安装 Visual Studio Code。 要查看可用的群集,请在工作区的边栏中单击“计算”。
Databricks 建议创建个人计算群集以快速开始。 要创建此群集,请执行以下操作:
- 在 Azure Databricks 工作区的边栏中,单击“计算”。
- 单击“使用个人计算进行创建”。
- 单击“创建计算”。
- 记下群集的名称,因为稍后在步骤 5 中将群集信息添加到扩展时需要它。
步骤 2:安装 Visual Studio Code
要安装 Visual Studio Code,请按照 macOS、Linux 或 Windows 的说明进行操作。
如果已安装 Visual Studio Code,请检查它是否为版本 1.69.1 或更高。 为此,请在 Visual Studio Code 的主菜单中,单击“代码 > 关于 Visual Studio Code”(macOS) 或“帮助 > 关于”(Linux 或 Windows)。
要更新 Visual Studio Code,请在主菜单上,单击“代码 > 检查更新”(macOS) 或“帮助 > 检查更新”(Linux 或 Windows)。
步骤 3:安装 Databricks 扩展
- 在 Visual Studio Code 边栏中,单击“扩展”图标。
- 在“在市场中搜索扩展”中,输入
Databricks
。 - 在标为“Databricks”、副标题为“对 Databricks 的 IDE 支持”、由 Databricks 提供的条目中,单击“安装”。
步骤 4:设置 Azure Databricks 身份验证
在此步骤中,你会在 Visual Studio Code 的 Databricks 扩展和远程 Azure Databricks 工作区之间启用身份验证,如下所示:
- 从 Visual Studio Code 中,在本地开发计算机上打开一个空文件夹,用于包含将在步骤 7 后面创建和运行的 Python 代码。 为此,请在主菜单上单击“文件 > 打开文件夹”,然后按照屏幕上的说明进行操作。
- 在 Visual Studio Code 边栏上,单击 Databricks 徽标图标。
- 在“配置”窗格中单击“配置 Databricks”。
- 在“命令面板”中,对于“Databricks 主机”,请输入每个工作区的 URL,例如
https://adb-1234567890123456.7.databricks.azure.cn
。 然后,按 Enter。 - 选择“OAuth(用户到计算机)”。
- 完成 Web 浏览器中的屏幕说明,以使用 Azure Databricks 完成身份验证。 如果出现提示,请允许 all-apis 访问。
步骤 5:将群集信息添加到 Databricks 扩展并启动群集
- 已从上一步打开“配置”窗格,设置了身份验证的步骤,在群集旁边单击齿轮(配置群集)图标。
- 在“命令面板”中,选择你在步骤 1 中创建的群集的名称。
- 启动群集(如果尚未启动):在“群集”旁边,如果运行(启动群集)图标可见,请单击它。
步骤 6:将代码上传位置添加到 Databricks 扩展并启动上传侦听器
- 已从上一步打开“配置”窗格,添加了群集信息的步骤,在同步目标旁边单击齿轮(配置同步目标)图标。
- 在“命令面板”中,选择“创建新的同步目标”。
- 按
Enter
确认生成的远程上传目录名称。 - 启动上传侦听器(如果尚未启动):在“同步目标”旁边,如果箭头圆圈(开始同步)图标可见,请单击它。
步骤 7:创建并运行 Python 代码
创建本地 Python 代码文件:在边栏上,单击文件夹(资源管理器)图标。
在主菜单中,单击“文件”>“新建文件”。 将文件命名为“demo.py”,并将其保存到项目根目录。
将以下代码添加到文件,然后将其保存。 此代码将创建并显示基本 PySpark 数据帧的内容:
from pyspark.sql import SparkSession from pyspark.sql.types import * spark = SparkSession.builder.getOrCreate() schema = StructType([ StructField('CustomerID', IntegerType(), False), StructField('FirstName', StringType(), False), StructField('LastName', StringType(), False) ]) data = [ [ 1000, 'Mathijs', 'Oosterhout-Rijntjes' ], [ 1001, 'Joost', 'van Brunswijk' ], [ 1002, 'Stan', 'Bokenkamp' ] ] customers = spark.createDataFrame(data, schema) customers.show() # Output: # # +----------+---------+-------------------+ # |CustomerID|FirstName| LastName| # +----------+---------+-------------------+ # | 1000| Mathijs|Oosterhout-Rijntjes| # | 1001| Joost| van Brunswijk| # | 1002| Stan| Bokenkamp| # +----------+---------+-------------------+
在资源管理器视图中,右键单击
demo.py
文件,然后单击“在 Databricks 中上传和运行文件”。 输出将显示在“调试控制台”窗格中。
步骤 8:将代码作为作业运行
在上一步中,你直接在远程群集上运行了 Python 代码。 而在此步骤中,你将启动一个工作流,它使用群集将代码作为 Azure Databricks 作业运行。 请参阅什么是 Azure Databricks 作业?。
要将此代码作为作业运行,请在“资源管理器”视图中右键单击 demo.py
文件,然后单击“在 Databricks 上将文件作为工作流运行”。 输出会显示在 demo.py
文件编辑器旁边单独的编辑器选项卡中。
本教程到此结束。
后续步骤
现在,你已成功使用 Visual Studio Code 的 Databricks 扩展来上传本地 Python 文件,并远程运行它,了解更多关于如何使用该扩展的信息:
- 了解为扩展设置身份验证的其他方法。 请参阅Visual Studio Code 的 Databricks 扩展的身份验证设置。
- 了解如何启用 PySpark 和 Databricks 实用工具代码完成、使用 Databricks Connect 运行或调试 Python 代码,将文件或笔记本作为 Azure Databricks 作业运行、使用
pytest
运行测试、使用环境变量定义文件、创建自定义运行配置等。 请参阅用于 Visual Studio Code 的 Databricks 扩展的开发任务。