配置离线管道运行参数

运行参数配置是对离线管道中所涉及的变量进行赋值,以便在节点调度时,参数变量能够自动被替换为相应的变量值。本文为您介绍如何配置离线管道的运行参数。

操作步骤

  1. Dataphin首页的顶部菜单栏中,选择研发 > 数据集成

  2. 在顶部菜单栏选择项目(Dev-Prod项目还需选择环境)。

  3. 在左侧导航栏中选择集成 > 离线集成,在离线集成列表中,单击目标任务名称。

  4. 在该任务页签下,单击右侧的属性,打开属性面板。

  5. 单击调度配置页签,在运行参数区域设置相关参数信息。

    在离线集成管道中通过表达式${变量名}配置的参数,系统将在运行参数区域进行展示。可以在运行参数列表中修改参数类型并对参数赋值。

    参数

    描述

    参数名称

    离线管道中定义的参数名称。建议变量名称仅包含数字、字母和下划线(_),长度不超过32个字符。

    参数类型

    包括全局变量空间名称变量本地变量跨节点变量非变量类型更多信息,请参见变量分类

    选中多个参数或全选后,单击参数列表底部的修改参数类型,可批量修改参数类型。

    参数值

    • 全局变量:默认为全局变量所定义的变量值,不支持设置。更多信息,请参见新建全局变量

    • 空间名称变量:参数值即为空间名称。

    • 本地变量:最长支持258个字符或设置为空值。如需输入日期时间,可选择或参考列表中表达式,详情请参见变量赋值

    • 跨节点变量:设置上游依赖后,可以选择上游的跨节点输出参数作为参数值。

    • 非变量:不支持定义。

    说明

    若引用了开启权限管控的全局变量,系统将自动校验当前用户是否拥有权限,无权限的全局变量将以image图标标识,您可单击申请权限,跳转至权限管理 > 变量权限管理页面进行权限申请。

变量分类

Dataphin中存在以下类型的变量:

变量类型

描述

全局变量

Dataphin规划 > 公共定义 > 全局变量中事先声明定义的变量,可以在租户内任何节点或代码中引用,系统初始内置的全局变量有${bizdate}

说明
  • 全局变量暂不支持实时计算和集成同步任务。

  • 全局变量设置具体操作,请参见新建全局变量

空间名称变量

${生产/开发项目名称}${生产/开发板块名称}

说明

空间名称变量不支持转换为其他类型变量。

本地变量

  • 无须事先声明和定义,直接在离线管道中使用${variable_name},即可定义一个名为variable_name的本地变量。

  • 变量名建议只使用数字、字母和下划线(_),且不要使用glb开头,此为全局变量保留设置,长度不超过32个字符。

重要
  • 如果variable_name与某个全局变量名称一致,会被系统优先视作引用了全局变量,可在参数配置中转换类型为本地变量。

  • 如果variable_name与某个生产项目或者生产板块的名称一致,会被系统强制视作空间名称变量。

  • 如果${variable_name}是代码内容的一部分,而不是变量,可在参数类型配置中设置该变量为非变量

  • 如果${variable_name}是跨节点变量,可在参数类型配置中设置该变量为跨节点变量

  • 若需将本地变量的参数值设置为空值,可单击参数值处的设为空值

跨节点变量

指当前变量为上游节点透传给本对象节点的变量参数。可用于以下场景:

  • 上游节点A将某一个变量${var}传递给下游节点B,${var}B的计算逻辑引用。

  • 上游节点A将某一个变量${var}传递给下游节点B,B将根据${var}的取值来决定运行策略。

重要

引入跨节点参数变量后,对当前节点补数据时,建议同时补输出跨节点参数的上游节点和当前节点。

变量赋值

日期时间赋值

为本地变量赋值时,如需输入日期时间,可选择或参考以下格式。

  • ${yyyymmdd - 1}:上一个业务日期,yyyyMMdd格式 。

  • ${yyyy-mm-dd - 1}:上一个业务日期,yyyy-MM-dd格式 。

  • $[yyyymmdd - 1]:上一个调度日期 。

  • ${yyyy - 1} :上一个业务年。

  • ${yyyymm - 1} :上一个业务月。

  • $[yyyymmdd]:当前调度日期 。

  • $[HH - 1/24]:上一调度小时 。

  • $[HH:mm:ss - 1/24/60]:上一调度分钟 。

  • $[yyyymmdd - 1/24]:上一调度小时,取日期部分 。

参数值配置完成后,可单击预览,在参数值预览对话框中查看选定业务日期后的参数值,其中业务日期默认为当前业务日期。日期时间运算逻辑及示例详见下文。

日期时间计算表达式

为本地变量赋值时,如果需要针对日期时间进行运算,Dataphin支持以下快捷日期计算操作符:

  • Dataphin 提供基于两个日期时间的运算

    • 基于业务日期${bizdate}的方式:${(yyyyMMdd|yyyy/MM/dd|yyyy-MM-dd) (+|-) n}

    • 基于预计执行时间(即节点任务设置的起调时间)的方式:${(yyyyMMddHHmmss|yyyy/MM/dd HH:mm:ss|yyyy-MM-dd HH:mm:ss) (+|-) n}

  • 日期时间各部分的标识符号

    • :yyyy。

    • :mm(日期时间只到天粒度时可使用)或MM(日期时间到分钟粒度时必须使用大写,以便和分钟mm进行区分)。

    • :dd。

    • 小时:HH。

    • 分钟:mm。

    • :ss。

  • 日期时间运算的单位 (interval) 是天

    • 1 小时使用1/24来表示,5小时为5/24。

    • 1 分钟使用1/24/60来表示,30分钟为30/24/60。

示例参考

当前日期

基于业务日期(T-1)的配置

实际值

基于预计执行时间(T)的配置

实际值

2018-01-10

${yyyymmdd}

20180109

$[yyyymmdd]

20180110

2018-01-10

${yyyyMMdd}

20180109

$[yyyyMMdd]

20180110

2018-01-10

${yyyymmdd -1}

20180108

$[yyyymmdd -1]

20180109

2018-01-10

${yyyymmdd -7}

20180102

$[yyyymmdd -7]

20180103

2018-01-10

${yyyy-mm-dd}

2018-01-09

$[yyyy-mm-dd]

2018-01-10

2018-01-10

${yyyy-mm}

2018-01

$[yyyy-mm]

2018-01

2018-01-10

${yyyy-mm -1}

2017-12

$[yyyy-mm -1]

2017-12

2018-01-10

${yyyy}

2018

$[yyyy]

2018

2018-01-10

${yyyy+1}

2019

$[yyyy + 1]

2019

2018-01-10

${yyyy/MM/dd HH:mm:ss}

2018/01/09 00:00:00

$[yyyy/MM/dd HH:mm:ss]

2018/01/10 00:00:00

2018-01-10

${yyyy/MM/dd HH:mm:ss-1/24}

2018/01/08 23:00:00

$[HH:mm:ss-5/24/60]

23:55:00