Spark Submit 任务类型是将 JAR 配置为任务的旧模式。
警告
Spark 提交任务当前已被弃用,并计划于 2026 年年中移除。 对于新用例,不允许使用此任务类型,强烈建议不要对现有客户使用。 Databricks 建议改为将 JAR 任务用于 JVM 工作负荷。 请参阅用于作业的 JAR 任务。
局限性
- 只能在新群集上运行 spark-submit 任务。
- 必须将 JAR 文件上传到与计算配置兼容的位置或 Maven 存储库。 请参阅 Java 和 Scala 库支持。
- 无法访问存储在卷中的 JAR 文件。
- Spark-submit 不支持群集自动缩放。 若要详细了解自动缩放,请参阅群集自动缩放。
- Spark-submit 不支持群集自动终止。 使用 Spark-submit 启动的 Spark 应用程序应在完成时显式调用
System.exit。 - Spark-submit 不支持 Databricks Utilities (
dbutils) 引用。 若要使用 Databricks 实用程序,请改用 JAR 任务。 - 如果使用启用了 Unity 目录的群集,则仅当群集使用专用访问模式时,才支持 spark-submit。 不支持标准访问模式。 请参阅访问模式。
- 结构化流式处理作业的最大并发运行数不得设置为大于 1。 流式处理作业应设置为(每分钟)使用 cron 表达式
"* * * * * ?"运行。 由于流式处理任务持续运行,因此它应始终是作业中的最终任务。
配置 Spark Submit 任务
通过执行以下操作,从作业 UI 中的“任务”选项卡添加 Spark Submit 任务:
单击“ 添加任务”。
在 “任务名称 ”字段中输入名称。
在“类型”下拉菜单中,选择“
Spark Submit”。使用计算配置支持任务中逻辑的群集。
使用“参数”文本框提供作为 JSON 字符串数组运行任务所需的所有参数和配置。
前三个参数用于标识要在指定路径的 JAR 中运行的主类,如以下示例所示:
["--class", "org.apache.spark.mainClassName", "dbfs:/Filestore/libraries/jar_path.jar"]不能替代 Azure Databricks 配置的
master、deploy-mode和executor-cores设置使用
--jars和--py-files添加 Java、Scala 和 Python 依赖库。使用
--conf设置 Spark 配置。--jars、--py-files、--files参数支持 DBFS 路径。默认情况下,Spark Submit 作业使用所有可用内存,为 Azure Databricks 服务预留的内存除外。 可将
--driver-memory和--executor-memory设置为较小的值,以留出一些空间作为堆外内存。
单击“保存任务”。