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: serverless.spark.access.key
      value: '{{ak}}'
    - key: serverless.spark.secret.key
      value: '{{sk}}'  
    - 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.params.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
    minRetryIntervalSeconds: 120
    timeoutSeconds: 7200
    retryOnTimeout: true
  position:
    x: 200
    y: 100

字段说明

字段

类型

必填

说明

type

String

是

固定为 jar

source

Enum

是

JAR 文件来源:TOS、RESOURCE

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 conf 参数,如常用的 Driver 内存分配参数spark.driver.memory、CPU 核心数spark.driver.cores等等。

注意

EMR Serverless Spark Jar 任务访问 TOS 资源时,需进行 TOS 鉴权操作,详见 TOS 权限配置。因此您必须在 Conf 参数中增加有权限访问 TOS 存储桶的账号 AK/SK 信息。具体信息您可进入火山引擎,访问控制台的密钥管理界面,复制 Access key ID、 Secret Access Key 信息。如果是子用户,请联系主账号获取密钥。详见 AK 秘钥管理。
单行编辑模式填写示例如下:

  • serverless.spark.access.key: xxxxxxx
  • serverless.spark.secret.key: xxxxxxx

Image
其中秘钥 AK/SK 这类敏感信息,支持您以自定义项目参数形式,进行加密配置,Value 配置方式如{{AK}}、{{SK}}。具体加密操作详见参数信息设置。

arguments

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

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

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

引用类型

语法

示例

Pipeline 参数

{{pipeline.params.xxx}}

{{pipeline.params.biz_date}}

项目参数

{{pipeline.xxx}}

{{pipeline.env}}

Pipeline 变量

{{pipeline.vars.xxx}}

{{pipeline.vars.run_mode}}

extraResources

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

extraResources:
  - source: TOS
    path: tos://bucket/common-udf.jar
  - source: RESOURCE
    path: /workspace/resources/connector.resource.yaml

字段

类型

必填

说明

source

Enum

是

资源来源:TOS、RESOURCE

path

String

是

资源文件路径

source 详细说明

source 值

说明

典型用法

TOS

火山引擎对象存储

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

RESOURCE

资源中心

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

使用建议

建议

说明

生产环境使用 TOS

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

合理配置 Spark 参数

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

设置超时

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

分离依赖

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

使用 arguments 传参

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

最近更新时间:2026.06.30 23:26:19
这个页面对您有帮助吗?
有用
有用
无用
无用