在 Visual Studio Code 中创建和管理 Apache Spark 作业定义

Synapse 的 Visual Studio (VS) Code 扩展完全支持 Fabric 中的 CURD(创建、更新、读取和删除)Spark 作业定义操作。 创建 Spark 作业定义后,可以上传更多引用的库、提交运行 Spark 作业定义的请求以及检查运行历史记录。

创建 Spark 作业定义

要创建新的 Spark 作业定义,请执行以下操作:

  1. 在 VS Code 资源管理器中,选择“创建 Spark 作业定义”选项。

    VS Code 资源管理器的屏幕截图,显示了选择“创建 Spark 作业定义”选项的位置。

  2. 输入初始必填字段:名称、被引用湖屋和默认湖屋。

  3. 新建的 Spark 作业定义的请求进程和名称显示在 VS Code Explorer 的Spark 作业定义根节点下。 在 Spark 作业定义名称节点下,会看到三个子节点:

    • 文件:主定义文件和其他被引用库的列表。 可以从此列表上传新文件。
    • 湖屋:此 Spark 作业定义引用的所有湖屋的列表。 默认湖屋在列表中标记,你可以通过相对路径 Files/…, Tables/… 访问它。
    • 运行:此 Spark 作业定义的运行历史记录列表以及每个运行的作业状态。

将主定义文件上传到被引用库

若要上传或覆盖主定义文件,请选择“添加主文件”选项。

VS Code 资源管理器的屏幕截图,显示了选择“添加主文件”选项的位置。

要上传主定义文件引用的库文件,请选择“添加库文件”选项。

显示“上传库”按钮的屏幕截图。

上传文件后,可以点击“更新文件”选项并上传新文件来替代该文件,或者可以通过“删除”选项删除该文件。

VS Code 资源管理器的屏幕截图,显示了“更新文件”和“删除”选项的位置。

提交运行请求

若要提交请求以从 VS Code 运行 Spark 作业定义,请执行以下操作:

  1. 从要运行的 Spark 作业定义名称右侧的选项中,选择“运行 Spark 作业”选项。

    VS Code 资源管理器的屏幕截图,显示了选择“运行 Spark 作业”的位置。

  2. 提交请求后,新的 Apache Spark 应用程序将在资源管理器列表的“运行”节点中显示。 可以通过选择“取消 Spark 作业”选项来取消正在运行的作业。

    VS Code 资源管理器的屏幕截图,其中“运行”节点下列出了新的 Spark 应用程序,并显示了“取消 Spark 作业”选项的位置。

在 Fabric 门户中打开 Spark 作业定义

可以通过选择“在浏览器中打开”选项,在 Fabric 门户中打开 Spark 作业定义创作页。

还可以选择已完成运行旁边的“在浏览器中打开”,查看该运行的详细信息监视页。

VS Code Explorer 的屏幕截图,显示了选择“在浏览器中打开”选项的位置。

调试 Spark 作业定义源代码 (Python)

如果 Spark 作业定义是使用 PySpark (Python) 创建的,则可以下载主定义文件和被引用文件的 .py 脚本,然后在 VS Code 中调试源脚本。

  1. 若要下载源代码,请选择 Spark 作业定义右侧的“调试 Spark 作业定义”选项。

    显示“下载源”按钮的屏幕截图。

  2. 下载完成后,会自动打开源代码的文件夹。

  3. 出现提示时,选择“信任作者”选项。 (此选项仅在首次打开文件夹时出现。如果未选择此选项,无法调试或运行源脚本。有关详细信息,请参阅Visual Studio Code 工作区信任安全性。)

  4. 如果之前已下载源代码,会提示你确认要使用新的下载覆盖本地版本。

    注意

    在源脚本的根文件夹中,系统会创建一个名为 conf 的子文件夹。 在此文件夹中,一个名为 lighter-config.json 的文件包含远程运行所需的一些系统元数据。 请勿对其进行任何更改。

  5. 一个名为 sparkconf.py 的文件包含设置 SparkConf 对象所需添加的代码片段。 若要启用远程调试,请确保 SparkConf 对象已正确设置。 下图显示了源代码的原始版本。

    代码示例的屏幕截图,显示更改之前的源代码。

    下一张图像是更新后的源代码,即复制并粘贴代码片段后的源代码。

    代码示例的屏幕截图,显示更改后的源代码。

  6. 使用必要的 conf 更新源代码后,必须选择合适的 Python 解释器。 请确保从 synapse-spark-kernel conda 环境中选择安装的版本。

编辑 Spark 作业定义属性

可以编辑 Spark 作业定义的详细信息属性,例如命令行参数。

  1. 选择“更新 SJD 配置”选项以打开 settings.yml 文件。 现有属性将填充此文件的内容。

    显示为 Spark 作业定义选择“更新 SJD 配置”选项的位置的屏幕截图。

  2. 更新并保存 .yml 文件。

  3. 选择右上角的“发布 SJD 属性”选项,将更改同步回远程工作区。

    显示为 Spark 作业定义选择“发布 SJD 属性”选项的位置的屏幕截图。