gpt4 book ai didi

hadoop - 如何使用 Spark 协调器获取每小时计划 Spark 工作的特定时间

转载 作者:行者123 更新时间:2023-12-02 20:46:09 25 4
gpt4 key购买 nike

我花了一天的时间来寻找为什么我的协调员无法按预期工作并且仍然没有任何线索的原因。

我想让2个Spark作业分别运行,第二个作业取决于第一个作业。我已经完成了每小时生成_SUCCESS文件的第一项工作。问题是当第二个作业找到其依赖项时,它得到了错误的HOUR。它总是在执行时选择00而不是小时。

这是第二个作业依赖项的xml部分的示例

<datasets>
<dataset name="\first_job" frequency="${coord:days(1)}" initial-instance="2015-01-01T00:00Z" timezone="GMT">
<uri-template>hdfs://nameservice1/user/user/project/first_job/success/${YEAR}${MONTH}${DAY}/${HOUR}</uri-template>
<done-flag>_SUCCESS</done-flag>
</dataset>

这是一些日志
::CoordActionInputCheck:: Missing deps:hdfs://nameservice1/user/user/project/first_job/success/20171222/00/_SUCCESS 

请告诉我我做错了什么或错过了什么。

谢谢

最佳答案

您已将频率设置为frequency="${coord:days(1)}",这意味着您的oozie协调员只需要在00小时触发一次作业,这就是为什么它总是寻找一天的开始时间,即从初始实例开始的00小时。
使用hours EL函数

frequency="${coord:hours(1)}" 

指示协调员每小时检查一次。

另外,初始实例设置为 initial-instance="2015-01-01T00:00Z",频率为1天,因此它将增加1天,但小时数将等于 00:00Z。更改此时间以选择特定的时间。

关于hadoop - 如何使用 Spark 协调器获取每小时计划 Spark 工作的特定时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47941622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com