如何在 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. 下载示例 Parquet 文件 yellow_tripdata_2022-01.parquet,并将其上传到湖屋的文件部分。

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

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

  4. 下载 createTablefromParquet.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 配置设置。
  • 优化:在“优化”选项卡中,可为作业启用并设置“重试策略”。 启用后,如果作业运行失败,会重新尝试运行。 还可以设置最大重试次数和重试间隔。 每次尝试重试时,都会重启作业。 确保作业是幂等的。

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