本文介绍所有 Activity 类型共有的配置字段,包括基本属性、重试策略和代码来源。
每个 Activity 均包含以下通用属性:
字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| String | 是 | Activity 名称,当前 Pipeline 内唯一。只包含字母、数字和下划线,长度不超过 127。 |
| String | 是 | Activity 类型标识(如 |
| String | 否 | Activity 描述信息。 |
| Object | 否 | 在 Pipeline 中组织 Activity 的连线依赖,指定 Activity 执行的上下游关系。 |
| Object | 否 | 重试策略。 |
| Object | 是 | 画布位置信息(x, y 坐标),用于可视化 DAG 编辑器渲染。 |
最小示例:
activities: - name: my_task type: sql source: WORKSPACE path: /Workspace/Users/zhang3/sql/my_task.sql engineType: emr_serverless_spark engineQueue: default position: x: "200" y: "100"
当 Activity 执行失败或超时时,系统可自动进行重试。重试通过 retryPolicy 字段配置:
retryPolicy: maxRetries: 3 minRetryIntervalMillis: 60000 timeoutSeconds: 3600 retryOnTimeout: true
字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| Integer | 否 | 0 | 最大重试次数。0 表示不重试。 |
| Integer | 否 | 0 | 两次重试之间的最小间隔(毫秒)。0 表示立即重试。 |
| Integer | 否 | 0 | 单次执行超时时间(秒)。0 表示不限制。超时后任务被强制终止。 |
| Boolean | 否 | false | 超时后是否触发重试。为 |
失败类型 | 推荐配置 | 说明 |
|---|---|---|
网络超时 / 资源不足 | maxRetries: 3, 间隔 60s | 偶发问题通常重试可恢复。 |
SQL 语法错误 / 逻辑错误 | maxRetries: 0 | 重试不会修复代码错误。 |
上游数据延迟 | maxRetries: 5, 间隔 300s | 等待上游数据就绪。 |
外部 API 限流 | maxRetries: 3, 间隔 120s | 等待限流窗口过去。 |
注意
retryPolicy.timeoutSeconds 是强制终止执行,与告警模块的"执行超时"告警不同,告警仅发送通知而不终止任务。两者可同时配置,互不影响。
计算节点(Notebook、SQL、Jar)通过 source + path 组合定义代码来源:
source 值 | path 含义 | 示例 |
|---|---|---|
| 项目工作空间内的文件路径 |
|
| 火山引擎对象存储路径 |
|
| 资源中心注册的文件路径 |
|
支持参数引用:path 中可使用项目参数动态替换路径片段:
source: WORKSPACE path: "/Workspace/Users/{{project.parameters.code_owner}}/sql/extract.sql"
各 Activity 类型支持的 source:
Activity 类型 | WORKSPACE | TOS | RESOURCE |
|---|---|---|---|
Notebook | ✓ | ✗ | ✗ |
SQL | ✓ | ✓ | ✗ |
Jar | ✓ | ✓ | ✓ |
position 定义 Activity 在可视化画布中的坐标位置。该字段由 DAG 编辑器自动管理,手动编写 YAML 时需指定初始位置:
position: x: "200" y: "100"
字段 | 类型 | 说明 |
|---|---|---|
| String | 水平坐标(像素) |
| String | 垂直坐标(像素) |
说明
在可视化画布中拖拽节点后,position 值会自动更新到 YAML 文件中。
计算节点(Notebook、SQL)支持通过 parameterValues 向脚本传递参数:
parameterValues: biz_date: "{{pipeline.parameters.biz_date}}" target_region: "cn-beijing" threshold: "1000"
说明 | 详情 |
|---|---|
格式 | 键值对(Map<String, String>) |
值来源 | 固定值、Pipeline 参数引用 |
传递方式 | 参数注入到脚本的执行上下文中,脚本通过对应方式引用。 |
在 SQL 脚本中引用:
SELECT * FROM orders WHERE dt = '${biz_date}' AND region = '${target_region}'
在 Notebook 中引用:
# 参数自动注入为变量 print(biz_date) # 2026-06-01 print(target_region) # cn-beijing
规范 | 说明 |
|---|---|
仅使用字母、数字、下划线 | 不支持中文、连字符、空格。 |
长度不超过 127 字符 | — |
Pipeline 内唯一 | 同一 Pipeline 中不能有重名 Activity。 |
语义化命名 | 建议使用 |