开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

DataWorks多个shell使用$bizdate参数,会出现两种结果,为什么?

DataWorks多个shell使用$bizdate参数,会出现,【bizdate=20230305】和【20230305】两种结果,我在shell里面判断长度解决了,但是不是很舒服,也没有明白是为什么?我这个空间是张家口,简单模式

展开
收起
wenti 2023-03-13 14:40:31 353 0
1 条回答
写回答
取消 提交回答
  • 月移花影,暗香浮动

    在 DataWorks 中,$bizdate 参数是通过调度系统传递给 Shell 节点的,其值取决于调度任务运行的时间。在一个工作流中,如果多个 Shell 节点都使用了 $bizdate 参数,但其运行时间却略有不同,就可能会出现两种结果。

    例如,假设有一个工作流,其中有两个 Shell 节点分别使用了 $bizdate 参数,并且这两个节点都在调度系统中设置为按照 day 进行调度。然而,由于节点的运行时间略有不同,比如第一个节点运行在 2022-02-15 00:01,而第二个节点运行在 2022-02-15 02:00,那么 $bizdate 参数值在两个节点中所代表的时间就不同了。对于第一个节点,$bizdate 的值为 2022-02-14,而对于第二个节点,$bizdate 的值为 2022-02-15。因此,这两个节点中使用 $bizdate 参数所得到的结果就会不同。

    要解决这个问题,可以考虑在调度系统中将这两个 Shell 节点设置为同一时间点运行,或者在工作流中引入其他变量,代替 $bizdate 参数,使得节点能够根据同一个变量值进行计算。

    2023-03-13 15:21:17
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks调度任务迁移最佳实践-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks商业化资源组省钱秘籍-2020飞天大数据平台实战应用第一季 立即下载