【发布时间】:2018-05-02 20:04:59
【问题描述】:
我的传感器数据是在 hive 表中捕获的,我希望定期在这些表上运行 spark 作业。比方说 15 分钟 30 分钟 45 分钟的工作。
我们正在使用 cron 调度程序以固定的时间间隔安排作业(不同的 spark-submits)。这里的问题是由于纱线资源争用问题,作业运行缓慢,cron 不断地一次又一次地触发相同的作业。
例如:触发了 30 分钟的作业,但由于某些集群资源问题而延迟,cron 每 30 分钟触发另一个 30 分钟的作业。
解决此问题的一种方法可能是使用 quarz/oozie 调度程序操作。
是否有任何程序化方法来确保一个具有相同作业名称的作业完成然后只有具有相同名称的下一个作业应该触发?
安排他们的最佳方式是什么?
【问题讨论】:
-
我建议你使用 Quartz,在 Quartz 中你可以有一个包装类,在触发动作之前验证作业的前一个实例是否正在运行。
标签: scala apache-spark scheduler