dataphin参数配置

节点参数配置说明
参数配置是用以支持代码中所用参数具体做参数值赋值,类似全局变量作用,从而支持节点调度时,参数可以自动被替换执行。
Dataphin调度系统(Voldemort)节点配置的原则
节点代码中引用参数的方式为: n o d e P a r a m 节点参数配置的格式为 K e y A = V a l u e A ; K e y B = V a l u e B , 不同参数配置之间的用分号 ; 进行分隔节点的 K e y 不区分大小写 , 因此 K e y A = V a l u e A 和 k e y a = V a l u e A 是一样的 , 在引用配置参数的时候 , 也不会区分大小写 , 因此在引用配置参数的时候 , 可以使用 {nodeParam} 节点参数配置的格式为 KeyA=ValueA; KeyB=ValueB, 不同参数配置之间的用分号;进行分隔 节点的Key不区分大小写, 因此KeyA=ValueA和keya=ValueA是一样的, 在引用配置参数的时候, 也不会区分大小写, 因此在引用配置参数的时候, 可以使用 nodeParam节点参数配置的格式为KeyA=ValueA;KeyB=ValueB,不同参数配置之间的用分号;进行分隔节点的Key不区分大小写,因此KeyA=ValueAkeya=ValueA是一样的,在引用配置参数的时候,也不会区分大小写,因此在引用配置参数的时候,可以使用{KeyA}或 k e y a 或 {keya}或 keya{keyA}都是可以的.
节点配置支持参数的引用, 引用格式为 KeyA= K e y B ; K e y B = V a l u e B , 使用引用符号 KeyB; KeyB=ValueB, 使用引用符号 KeyB;KeyB=ValueB,使用引用符号, 则此时相当于KeyA=ValueB; KeyB=ValueB. 但是这里必须注意, Voldemort会进行循环引用的检测, 因此KeyA= K e y B ; K e y B = KeyB; KeyB= KeyB;KeyB=KeyA或者bizdate=$bizdate这种参数配置在Voldemort中是非法的.
伏地魔提供默认的节点参数配置项, 包括:

默认参数值:{yyyyMMdd}为业务日期,即当前日期的前一天T-1,[yyyyMMdd]为执行日期,即当前日期T
默认参数:bizdate,nodeid,taskid,生产业务板块名和生产项目名.其中 nodeid是节点id, taskid是节点生成实例时候的实例id, bizdate默认为当前日期的前一天,即参数默认参数值赋值为{yyyyMMdd},eg:如果今天是2018年1月10日, 则默认bizdate=20180109,生产业务板块名为当前系统所有生产业务板块名,开发环境执行时替换为开发板块名,生产环境执行时替换为生产板块名,eg:如果系统有Dev-Prod模式生成的生产业务板块为是LD_demo, 则默认生产环境里 L D d e m o 执行代码时更新为 L D d e m o ,开发环境里 {LD_demo}执行代码时更新为LD_demo,开发环境里 LDdemo执行代码时更新为LDdemo,开发环境里{LD_demo}执行代码时更新为LD_demo_dev。 默认参数bizdate的设置及执行效果

可以在节点代码中直接引用这些参数配置项。①支持代码中自定义参数,引用默认参数值,如time= t o d a y ,调度参数配置为 t o d a y = {today},调度参数配置为 today= today,调度参数配置为today=[yyyyMMdd],则2019年2月28日调度执行时,执行代码为time=20190228. ②如果用户配置的参数和默认参数有重复冲突, 则用户配置的参数赋值会覆盖默认规则. 例如配置了bizdate=ABC, 则在节点代码中引用bizdate时, 该bizdate的值会被替换为ABC,而不是具体日期参数值yyyymmdd。 默认参数bizdate配置为其他参数值的设置及执行效果

注意:
调度参数配置后,请点击配置界面的【确定】按钮更新配置,然后再提交调度,成功后,对应任务再执行时,会取最新的配置及代码执行。可以根据运行日志,查看配置的参数生效情况

即席查询支持参数识别与设置,但是与调度系统规则有所不同,{bizdate}执行时,系统会识别并默认填入执行日期为默认值(2019年2月28日查询执行时,执行代码为替换为20190228),其他参数不会填入默认值,系统会记住当前界面会话下,用户最新填入的参数值,会话有效期内,执行时默认填入最新参数值。

Dataphin调度系统(Voldemort)时间参数的配置
日调度等:提供基于业务日期和预计执行时间两种方式, 基于业务日期的方式: ${yyyyMMdd}; 基于预计执行时间的方式: [ y y y y M M d d ] 。可参考示例配置,实现月调度、年调度小时、分钟调度:提供基于小时和分钟偏移,而实现的小时调度、分钟调度,暂不支持秒。 H H 表示小时 , m i ( 或 m m ) 表示分钟 , s s 表示秒,小时的偏移 : d e l t a / 24 , 分钟的偏移 : d e l t a / 24 / 60 。例如在指定执行时间前一小时的表达式为 : [yyyyMMdd]。可参考示例配置,实现月调度、年调度 小时、分钟调度:提供基于小时和分钟偏移,而实现的小时调度、分钟调度,暂不支持秒。HH表示小时,mi(或mm)表示分钟,ss表示秒,小时的偏移: delta/24, 分钟的偏移: delta/24/60。 例如在指定执行时间前一小时的表达式为: [yyyyMMdd]。可参考示例配置,实现月调度、年调度小时、分钟调度:提供基于小时和分钟偏移,而实现的小时调度、分钟调度,暂不支持秒。HH表示小时,mi(mm)表示分钟,ss表示秒,小时的偏移:delta/24,分钟的偏移:delta/24/60。例如在指定执行时间前一小时的表达式为:[HH-1/24], 在业务日期前1分钟:${HHmmss-1/24/60}
特别说明:如果配置的时间参数只精确到日, 那么小写的mm会被识别为月份。当同时有月和分钟存在的时候, 为了避免歧义, 需要将月大写为MM, 将分钟小写为mm,否则会统一识别为分钟,从而导致月份参数出错(比如更新为大于12的数值)
具体的配置可以参考下面的表格
当前日期 基于业务日期(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
特别说明:

周期实例: 系统时间=T(取生成实例的时间) bizdate=T-1(根据系统时间获取默认取值,调度配置参数取值可修改)→影响数据读写的时间分区值 预计执行时间=bizdate+1=T(根据bizdate获取)→影响数据生成时间

补数据实例: 系统时间=T(取生成实例的时间) Bizdate<=T(补数据时传入值)→影响数据读写的时间分区值 预计执行时间=Bizdate+1 →影响数据生成时间 ①如Bizdate+1<=T,取Bizdate+1 ②如bizdate+1>T,特殊处理为T 执行时,会根据调度配置时实例预计执行小时运行(如调度配置设置了定时以及分时段运行等)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据小理

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值