各类型节点的调度参数配置示例

更新时间:
复制 MD 格式

除通用Shell节点、PyODPS节点外,其他类型节点均可参考SQL类型节点(例如,ODPS SQL)的配置方式定义参数并为参数赋值。通用Shell节点、PyODPS节点的调度参数使用存在部分差异。本文为您介绍各类型节点的调度参数配置示例。

SQL类型节点及离线同步节点

SQL 类型节点(例如 ODPS SQL)和离线同步节点的调度参数配置方法相同,也适用于大多数其他节点类型。本文以ODPS SQL节点为例,为您展示如何为系统内置变量及自定义参数赋值,并在代码中进行调用。

说明

部分节点可能不支持使用调度参数。各节点是否支持使用调度参数,详情请参考具体的节点文档。

在参数赋值区域为参数赋值,然后进入代码调用区域引用系统内置变量var1、var3,自定义参数var2、var4,常量var5。赋值示例如下:

  • 系统内置变量var1赋值取业务时间:var1=$bizdate

  • 系统内置变量var3赋值取定时时间:var3=$cyctime

  • 自定义参数var2赋值取业务时间:var2=${yyyymmdd}

  • 自定义参数var4赋值取定时时间: var4=$[yyyymmddhh24:mi:ss]

  • 常量var5参数赋值为abc:var5=abc

若需基于定时时间获取相对时间(例如上一小时、前N分钟),可在定时时间参数($[...])上进行偏移计算:小时偏移使用N/24,分钟偏移使用N/24/60,N为需要偏移的小时或分钟数。时、分偏移仅定时时间支持,业务日期(${...})不支持。以“获取上一小时”为例,常用赋值示例如下:

  • 取定时时间的上一小时(完整时间,格式为yyyymmddhh24miss):$[yyyymmddhh24miss-1/24]

  • 仅取上一小时(24小时制小时):$[hh24-1/24]

  • 取上一小时的时分秒:$[hh24miss-1/24]

  • 取年月日格式的前一小时:$[yyyymmdd-1/24]

  • 取前一天且前一小时:$[yyyymmdd-1-1/24]

  • 取定时时间的前15分钟:$[yyyymmddhh24miss-15/24/60]

说明

执行小时、分钟偏移计算时可能存在跨天问题。关于调度参数支持的完整赋值格式及跨天处理,请参见调度参数支持的格式

PyODPS节点

为避免代码入侵,PyODPS节点不支持在代码中直接使用${param_name}格式的字符串替换定义的变量。执行代码前,您需要从类型为dict(字典对象)的args全局变量中获取调度参数,参数赋值方式与其他节点相同。

在 PyODPS 节点的代码编辑器中,通过 args 字典引用调度参数(如 args['var1']args['var2']args['var3']),并使用 print 输出参数值。在右侧调度配置面板的调度参数区域为这些参数赋值。

在参数赋值区域为参数赋值,然后进入代码调用区域引用内置参数var1,自定义参数var2、var3。添加字典对象后的参数为args['var1']args['var2'] args['var3']。赋值示例如下:

  • 内置参数var1赋值取业务时间:var1=$bizdate

  • 自定义参数var2赋值取业务时间:var2=${yyyymmdd}

  • 自定义参数var3赋值取业务时间: var3=$[yyyymmdd]

通用Shell节点配置示例

通用Shell节点中的变量不允许自定义命名,只能以$1$2$3...命名(参数序号由小到大,依次递增),当参数的数量大于10时,请使用${10}的方式声明变量。

Shell 节点中第 10 个及以后的参数需使用 ${10} 形式引用(如 echo ${10})。

在参数赋值区域为参数赋值,然后进入代码调用区域定义内置参数$1,自定义参数$2、$3。赋值示例如下:

说明

通用Shell节点仅支持使用表达式方式为参数赋值。多个参数赋值使用空格分隔,并且参数取值与定义参数时的顺序对应。例如,Shell节点定义的第一个参数为$1,则参数赋值区域序号第一的赋值内容$bizdate即为$1的参数取值。

  • 内置参数$1赋值取业务时间:$bizdate

  • 自定义参数$2赋值取业务时间:${yyyymmdd}

  • 自定义参数$3赋值取定时时间: $[yyyymmdd]

关于调度参数支持的更多赋值格式,请参见调度参数支持的格式。要了解配置和使用调度参数的完整流程,请参见配置并使用调度参数

离线同步示例

调度参数在数据集成的典型应用场景,详情请参见场景:调度参数在数据集成的典型应用场景