Spark Submit(旧版)

Spark Submit 任务类型是将 JAR 配置为任务的旧模式。 Databricks 建议使用 JAR 任务。 请参阅作业的 JAR 任务

要求

  • 只能在新群集上运行 spark-submit 任务。
  • 必须将 JAR 文件上传到与计算配置兼容的位置或 Maven 存储库。 请参阅 Java 和 Scala 库支持
  • 无法访问存储在卷中的 JAR 文件。
  • Spark-submit 不支持群集自动缩放。 若要详细了解自动缩放,请参阅群集自动缩放
  • Spark-submit 不支持 Databricks 实用程序 (dbutils) 引用。 若要使用 Databricks 实用程序,请改用 JAR 任务。
  • 如果使用启用了 Unity Catalog 的群集,则仅当群集使用单用户访问模式时才支持 spark-submit。 不支持共享访问模式。 请参阅访问模式
  • 结构化流式处理作业的最大并发运行数不得设置为大于 1。 流式处理作业应设置为(每分钟)使用 cron 表达式 "* * * * * ?" 运行。 由于流式处理任务持续运行,因此它应始终是作业中的最终任务。

配置 Spark Submit 任务

通过执行以下操作,从作业 UI 中的“任务”选项卡添加 Spark Submit 任务:

  1. 在“类型”下拉菜单中,选择“Spark Submit”。
  2. 使用计算配置支持任务中逻辑的群集。
  3. 使用“参数”文本框提供作为 JSON 字符串数组运行任务所需的所有参数和配置。
    • 前三个参数用于标识要在指定路径的 JAR 中运行的主类,如以下示例所示:

      ["--class", "org.apache.spark.mainClassName", "dbfs:/Filestore/libraries/jar_path.jar"]
      
    • 不能替代 Azure Databricks 配置的 masterdeploy-modeexecutor-cores 设置

    • 使用 --jars--py-files 添加 Java、Scala 和 Python 依赖库。

    • 使用 --conf 设置 Spark 配置。

    • --jars--py-files--files 参数支持 DBFS 路径。

    • 默认情况下,Spark Submit 作业使用所有可用内存,为 Azure Databricks 服务预留的内存除外。 可将 --driver-memory--executor-memory 设置为较小的值,以留出一些空间作为堆外内存。

  4. 单击“保存任务”。