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

大数据研发治理套件

复制全文
下载 pdf
Pipeline 开发
Pipeline 配置文件
复制全文
下载 pdf
Pipeline 配置文件

本文为您介绍 Pipeline YAML 配置文件的格式规范和完整字段定义。

文件格式与命名规范

Pipeline 配置文件采用 YAML 格式,命名约定为:

${name}.pipeline.yml

例如:daily_etl_orders.pipeline.yml
命名规则:

  • 文件名中的 ${name} 部分建议与 metadata.name 保持一致。
  • 文件名只包含字母、数字、下划线和连字符。
  • Pipeline 文件存储在项目 Git 仓库中,可放置在任意目录下。
  • 同一项目中可包含多个 Pipeline 文件。

配置文件整体结构

apiVersion: newide.studio.dataleap.volc/v1
kind: Pipeline
metadata:
  name: daily_etl_orders
spec:
  displayName: "每日订单 ETL"
  description: "从 ODS 层抽取订单数据,清洗后写入 DWD 层"
  runAs: User/123456
  schedulingResourceGroupName: default_scheduling_group

  activities:
    - name: extract_orders
      type: sql
      # ...
    - name: transform_orders
      type: notebook
      # ...

  trigger:
    type: scheduled
    cronExpression: "0 2 * * *"
    frequency: daily

  parameters:
    - name: biz_date
      default: "${date}"

  variables:
    - name: record_count
      default: "0"

  dataOutputs:
    - type: partition
      dataSource: las_catalog
      database: dwd
      table: orders
      partitions:
        - key: dt
          value: "${date}"

  dependsOn:
    pipelines:
      - name: upstream_ods_pipeline

顶层字段说明:

字段

类型

必填

说明

apiVersion

String

文件定义版本,固定为 newide.studio.dataleap.volc/v1

kind

String

资源类型,固定为 Pipeline

metadata

Object

元信息

spec

Object

Pipeline 详细配置

metadata 字段说明

metadata:
  name: daily_etl_orders

字段

类型

必填

说明

name

String

Pipeline 唯一标识名。在同一项目中唯一,建议只包含字母、数字和下划线,长度不超过 127。

注意

  • name 在项目内唯一,发布时系统自动维护 name 与发布态 Pipeline ID 的映射。
  • 如果两个 .pipeline.yml 文件中 metadata.name 相同,它们发布时会发布到同一个 Pipeline。
  • Pipeline 一经生产发布后不建议修改 name(修改会导致发布为新的 Pipeline)。
  • 如需重命名,请使用 spec.displayName 字段。

activities 定义

spec.activities 是一个数组,定义 Pipeline 中所有执行单元:

spec:
  activities:
    - name: extract_orders
      type: sql
      source: WORKSPACE
      path: /Workspace/Users/zhang3/sql/extract_orders.sql
      engineType: emr_serverless_spark
      engineQueue: default
      parameterValues:
        biz_date: "${date}"
      position:
        x: "200"
        y: "100"

    - name: transform_orders
      type: notebook
      source: WORKSPACE
      path: /Workspace/Users/zhang3/notebooks/transform.notebook
      sqlEngineType: emr_serverless_spark
      sqlEngineQueue: default
      dependsOn:
        activities:
          - name: extract_orders
      position:
        x: "400"
        y: "100"

每个 Activity 的通用字段:

字段

类型

必填

说明

name

String

Activity 名称,当前 Pipeline 内唯一,只包含字母、数字和下划线,长度不超过 127

type

String

Activity 类型(如 sqlnotebookjar 等)

description

String

描述信息

dependsOn

Object

上游依赖配置

retryPolicy

Object

重试策略

position

Object

画布位置信息(x, y 坐标)

说明

各 Activity 类型的特有字段详见 Activity(任务节点)类型

trigger 定义

spec.trigger 定义 Pipeline 的触发方式:

spec:
  trigger:
    type: scheduled
    cronExpression: "0 2 * * *"
    frequency: daily
    priority: d4
    effectiveTime: "2026-01-01 00:00:00.000"
    expirationTime: "9999-12-31 23:59:59.000"
    earliestBackfillTime: "2026-01-01 00:00:00.000"
    concurrency: 1

字段

类型

必填

说明

type

Enum

触发类型:scheduled / manual / external

cronExpression

String

条件必填

Cron 表达式(type=scheduled 时必填),标准 5 位格式。

frequency

Enum

调度频率:minutely / hourly / daily / weekly / monthly

priority

Enum

调度优先级:d1d5(默认 d5

effectiveTime

Datetime

调度生效起始时间

expirationTime

Datetime

调度失效时间

earliestBackfillTime

Datetime

条件必填

最早回溯时间,数据补跑时不会生成早于此时间的实例。

concurrency

Integer

最大并发实例数,-1 表示不限制。

Cron 表达式格式:

┌────── 分钟 (0-59)
│ ┌──── 小时 (0-23)
│ │ ┌── 日 (1-31)
│ │ │ ┌ 月 (1-12)
│ │ │ │ ┌ 星期 (0-6, 0=周日)
│ │ │ │ │
*  *  * *  *

常用表达式示例:

表达式

含义

0 2 * * *

每天凌晨 2:00

0 */6 * * *

每 6 小时

30 1 * * *

每天 1:30

0 3 * * 1

每周一 3:00

0 0 1 * *

每月 1 日 0:00

*/10 * * * *

每 10 分钟

parameters 定义

spec.parameters 定义 Pipeline 可接收的输入参数:

spec:
  parameters:
    - name: biz_date
      description: "业务日期"
      default: "${date}"

    - name: target_region
      description: "目标区域"
      default: "{{project.parameters.default_region}}"

    - name: run_mode
      description: "运行模式:full 全量 / incremental 增量"
      default: "incremental"

字段

类型

必填

说明

name

String

参数名,Pipeline 内唯一(字母、数字、下划线)。

description

String

参数描述

default

String

默认值

默认值支持的来源:

来源

语法

示例

硬编码值

直接写入

"incremental"

系统变量

${变量名}

"${date}"

项目参数

{{project.parameters.xxx}}

"{{project.parameters.default_region}}"

上游 Pipeline 输出

{{pipeline(name).output.xxx}}

"{{pipeline(upstream).output.status}}"

variables 定义

spec.variables 定义运行时可修改的内部变量:

spec:
  variables:
    - name: record_count
      description: "已处理记录数"
      default: "0"

    - name: error_flag
      description: "错误标记"
      default: "false"

    - name: file_list
      description: "待处理文件列表"
      default: "[]"

字段

类型

必填

说明

name

String

变量名,Pipeline 内唯一。

description

String

变量描述

default

String

初始值

变量的值可在运行过程中通过 set_variable 类型的 Activity 修改,适用于 Activity 间传递中间状态(如计数器、标记位、中间结果等)。

dataOutput 定义

spec.dataOutputs 登记 Pipeline 的数据产出,用于建立数据血缘和调度依赖:

spec:
  dataOutputs:
    # 表级产出
    - type: table
      dataSource: las_catalog
      catalog: default
      database: dwd
      table: orders

    # 分区级产出
    - type: partition
      dataSource: las_catalog
      catalog: default
      database: dwd
      table: orders
      partitions:
        - key: dt
          value: "${date}"

    # HDFS 路径产出
    - type: hdfs
      dataSource: emr
      clusterId: emr-xxxxxxxx
      path: "/data/warehouse/${date}"

    # 其他类型产出
    - type: other
  • 产出类型:

    type 值

    说明

    必填字段

    table

    表级产出

    dataSourcedatabasetable

    partition

    分区级产出

    dataSourcedatabasetablepartitions

    hdfs

    HDFS 路径产出

    dataSourcepath

    other

    其他类型

  • 字段说明:

    字段

    类型

    说明

    type

    Enum

    产出类型

    dataSource

    String

    数据源标识(如 las_catalogemr

    catalog

    String

    数据目录(如 default

    database

    String

    数据库名

    table

    String

    表名

    partitions

    Array

    分区键值对列表

    clusterId

    String

    HDFS 集群 ID

    path

    String

    HDFS 路径

说明

数据产出登记是可选配置,但建议为所有写入操作的 Pipeline 配置 dataOutputs,有助于平台建立完整的数据血缘关系和自动化依赖管理。

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