[英]How to get specific hour for hourly scheduled spark job with spark coordinator
我花了一天的时间来寻找为什么我的协调员无法按预期工作并且仍然没有任何线索的原因。
我想分别运行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
距您最初的实例数小时。 使用小时 EL功能
frequency="${coord:hours(1)}"
指示协调员每小时检查一次。
另外,initial-instance设置为initial-instance="2015-01-01T00:00Z"
并且频率为1天,因此它将增加1天,但小时数将为00:00Z
。 更改此时间以选择特定的时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.