You need to enable JavaScript to run this app.
文档中心
大数据研发治理套件

大数据研发治理套件

复制全文
下载 pdf
Activity (任务节点)类型
Jar
复制全文
下载 pdf
Jar

本文介绍 Jar 类型的 Activity 配置,用于在 Pipeline 中执行 Spark JAR 包任务。

概述

Jar Activity 提交并运行 Spark JAR 包,适用于使用 Scala 或 Java 编写的高性能批处理任务。
适用场景:

  • 需要自定义 Spark 逻辑的复杂 ETL。
  • 对性能要求较高、需精细控制 Spark 参数的任务。
  • 复用已有的 Spark 应用程序。
  • 需要引入自定义 UDF 或外部依赖库。

配置示例

- name: exec_jar_job
  type: jar
  source: TOS
  path: tos://dmp-bucket/jars/etl-app-1.0.jar
  engineType: emr_serverless_spark
  engineQueue: default
  mainClass: com.example.ETLJob
  sparkConf:
    - key: spark.executor.memory
      value: "4g"
    - key: spark.executor.instances
      value: "10"
    - key: spark.executor.cores
      value: "2"
    - key: spark.sql.shuffle.partitions
      value: "200"
  arguments:
    - "--biz_date"
    - "{{pipeline.parameters.biz_date}}"
    - "--region"
    - "cn-beijing"
  extraResources:
    - source: TOS
      path: tos://dmp-bucket/jars/common-udf.jar
    - source: RESOURCE
      path: /workspace/resources/connector-sqlserver.resource.yaml
  retryPolicy:
    maxRetries: 2
    minRetryIntervalMillis: 120000
    timeoutSeconds: 7200
    retryOnTimeout: true
  position:
    x: "200"
    y: "100"

字段说明

字段

类型

必填

说明

type

String

固定为 jar

source

Enum

JAR 文件来源:TOSWORKSPACERESOURCE

path

String

JAR 文件路径

engineType

Enum

固定为 emr_serverless_spark

engineQueue

String

计算队列名称

mainClass

String

JAR 的入口类(全限定名)

sparkConf

Array

Spark 配置参数列表

arguments

Array

程序运行参数

extraResources

Array

额外依赖资源

sparkConf

Spark 配置参数以 key-value 数组形式定义,对应 Spark 的 --conf 参数:

sparkConf:
  - key: spark.executor.memory
    value: "4g"
  - key: spark.executor.instances
    value: "10"
  - key: spark.executor.cores
    value: "2"

常用配置项

配置项

说明

示例值

spark.executor.memory

Executor 内存

4g

spark.executor.instances

Executor 数量

10

spark.executor.cores

每个 Executor 的核数

2

spark.driver.memory

Driver 内存

2g

spark.sql.shuffle.partitions

Shuffle 分区数

200

spark.dynamicAllocation.enabled

是否启用动态资源分配

true

spark.dynamicAllocation.minExecutors

最小 Executor 数

2

spark.dynamicAllocation.maxExecutors

最大 Executor 数

50

arguments

程序运行参数以字符串数组形式传入,对应 Spark -- 之后的应用参数:

arguments:
  - "--biz_date"
  - "{{pipeline.parameters.biz_date}}"
  - "--region"
  - "cn-beijing"
  - "--mode"
  - "full"

参数值支持引用 Pipeline 参数和变量:

引用类型

语法

示例

Pipeline 参数

{{pipeline.parameters.xxx}}

{{pipeline.parameters.biz_date}}

项目参数

{{project.parameters.xxx}}

{{project.parameters.env}}

Pipeline 变量

{{variables.xxx}}

{{variables.run_mode}}

extraResources

额外依赖资源列表,用于加载 UDF JAR、配置文件或其他辅助资源:

extraResources:
  - source: TOS
    path: tos://bucket/common-udf.jar
  - source: RESOURCE
    path: /workspace/resources/connector.resource.yaml
  - source: WORKSPACE
    path: /Workspace/Users/zhang3/lib/utils.jar

字段

类型

必填

说明

source

Enum

资源来源:TOSWORKSPACERESOURCE

path

String

资源文件路径

加载行为:

  • JAR 文件会被添加到 Spark 的 classpath 中。
  • 配置文件会被下载到 Executor 的工作目录中。
  • 多个 extraResources 会在任务启动前全部就绪。

source 详细说明

source 值

说明

典型用法

TOS

火山引擎对象存储

构建产物上传到 TOS 后引用(推荐用于生产环境)。

WORKSPACE

项目工作空间

开发阶段快速迭代,文件纳入 Git 版本管理。

RESOURCE

资源中心

引用资源中心注册的 YAML 资源描述文件。

使用建议

建议

说明

生产环境使用 TOS

JAR 包通过 CI/CD 构建后上传到 TOS,保证版本可追溯。

合理配置 Spark 参数

根据数据量和计算复杂度调整 executor 数量和内存。

设置超时

Jar 任务通常运行时间较长,务必配置 timeoutSeconds

分离依赖

通用 UDF 放入 extraResources 而非打入主 JAR,减少构建体积。

使用 arguments 传参

不要在代码中硬编码日期和环境信息,通过 arguments 注入。

最近更新时间:2026.06.12 11:44:17
这个页面对您有帮助吗?
有用
有用
无用
无用