如何在 Fabric 中创建 Apache Spark 作业定义

本教程介绍如何在 Microsoft Fabric 中创建 Apache Spark 作业定义。

先决条件

准备事项:

提示

要运行 Spark 作业定义项,必须具有主要定义文件和默认湖屋上下文。 如果没有湖屋,则可以按照创建湖屋中的步骤创建一个。

创建 Spark 作业定义

Spark 作业定义创建过程快速简单;有几种方法来助你开始。

创建 Spark 作业定义的选项

可通过以下几种方法开始创建过程:

  • 数据工程主页:可轻松通过该主页“新建”部分下的“Spark 作业定义”卡片来创建 Spark 作业定义。

    显示选择 Spark 作业定义卡片的位置的屏幕截图。

  • 工作区视图:也可在使用“新建”下拉菜单进入“数据工程”体验后,通过“工作区”视图创建 Spark 作业定义。

    显示在“新建”菜单中选择 Spark 作业定义的位置的屏幕截图。

  • 创建视图:创建 Spark 作业定义的另一个入口点位于“数据工程”下的“创建”页面中。

    显示在“创建中心”选择 Spark 作业定义的位置的屏幕截图。

创建 Spark 作业定义时,需要为它指定一个名称。 此名称在当前工作区中必须是唯一的。 新的 Spark 作业定义是在当前工作区中创建的。

为 PySpark (Python) 创建 Apache Spark 作业定义

若要为 PySpark 创建 Spark 作业定义,请执行以下操作:

  1. 下载示例 CSV 文件 yellow_tripdata_2022_01.csv,并将其上传到湖屋的 files 部分。

  2. 创建新的 Spark 作业定义。

  3. 从“语言”下拉列表中选择“PySpark (Python)”。

  4. 下载 createTablefromCSV.py 示例,并将其作为主要定义文件上传。 主要定义文件 (job.Main) 包含应用程序逻辑,必须具有它才能运行 Spark 作业。 每个 Spark 作业定义只能上传一个主要定义文件。

    可以从本地桌面上传主要定义文件,还可通过提供文件的完整 ABFSS 路径来从现有 Azure Data Lake Storage (ADLS) Gen2 上传。 例如 abfss://your-storage-account-name.dfs.core.windows.net/your-file-path

  5. 将引用文件上传为 .py 文件。 引用文件是主要定义文件导入的 python 模块。 与主要定义文件一样,可以从桌面或现有的 ADLS Gen2 上传。 支持多个引用文件。

    提示

    如果使用 ADLS Gen2 路径来确保文件可访问,必须为运行作业的用户帐户提供对存储帐户的适当权限。 我们推荐两种不同的方法来执行此操作:

    • 为用户帐户分配存储帐户的参与者角色。
    • 通过 ADLS Gen2 访问控制列表 (ACL) 向用户帐户授予对文件的读取和执行权限。

    对于手动运行,当前登录用户的帐户用于运行作业。

  6. 如果需要,请为作业提供命令行参数。 使用空格作为拆分器来分隔参数。

  7. 将湖屋引用添加到作业。 必须向作业添加至少一个湖屋引用。 此湖屋是作业的默认湖屋上下文。

    支持多个湖屋引用。 可在“Spark 设置”页面上找到非默认湖屋名称和完整 OneLake URL。

    显示已填充的主要定义文件屏幕的屏幕截图。

为 Scala/Java 创建 Spark 作业定义

若要为 Scala/Java 创建 Spark 作业定义,请执行以下操作:

  1. 创建新的 Spark 作业定义。

  2. 从“语言”下拉列表中选择“Spark(Scala/Java)”。

  3. 将主要定义文件上传为 .jar 文件。 主要定义文件包含此作业的应用程序逻辑,必须具有它才能运行 Spark 作业。 每个 Spark 作业定义只能上传一个主要定义文件。 提供主类名。

  4. 将引用文件上传为 .jar 文件。 引用文件是主要定义文件引用/导入的文件。

  5. 如果需要,请为作业提供命令行参数。

  6. 将湖屋引用添加到作业。 必须向作业添加至少一个湖屋引用。 此湖屋是作业的默认湖屋上下文。

为 R 创建 Spark 作业定义

若要为 SparkR(R) 创建 Spark 作业定义,请执行以下操作:

  1. 创建新的 Spark 作业定义。

  2. 从“语言”下拉列表中选择“SparkR (R)”。

  3. 将主要定义文件上传为 .R 文件。 主要定义文件包含此作业的应用程序逻辑,必须具有它才能运行 Spark 作业。 每个 Spark 作业定义只能上传一个主要定义文件。

  4. 将引用文件上传为 .R 文件。 引用文件是主要定义文件引用/导入的文件。

  5. 如果需要,请为作业提供命令行参数。

  6. 将湖屋引用添加到作业。 必须向作业添加至少一个湖屋引用。 此湖屋是作业的默认湖屋上下文。

注意

Spark 作业定义将在当前工作区中创建。

用于自定义 Spark 作业定义的选项

有几个选项来进一步自定义 Spark 作业定义的执行。

  • Spark 计算:在“Spark 计算”选项卡中,可以看到运行时版本,即用于运行作业的 Spark 版本。 还可以查看将用于运行作业的 Spark 配置设置。 可以通过单击“添加”按钮自定义 Spark 配置设置。
  • 优化:在“优化”选项卡中,可为作业启用并设置“重试策略”。 启用后,如果作业运行失败,会重新尝试运行。 还可以设置最大重试次数和重试间隔。 每次尝试重试时,都会重启作业。 确保作业是幂等的。

    显示在哪里设置重试策略的屏幕截图。