如何在 apache-flink 中安排作业

ano*_*ous 4 apache-flink

我想写一个任务,每24小时后由apache flink触发,然后由flink处理。有什么可能的方法来做到这一点?flink 提供作业调度功能吗?

小智 5

Apache Flink 不是一个作业调度程序,而是一个事件处理引擎,这是一个不同的范例,因为 Flink 作业应该连续运行,而不是由调度触发。

也就是说,您可以通过简单地使用现成的调度程序(即 cron)来实现该功能,该调度程序计划在您的 Flink 集群上启动作业,然后在您收到某种作业已完成的通知后停止它(即通过Kafka 主题)或简单地使用超时,在此之后您将假定作业已完成并且可以停止作业。但同样,特别是因为 Flink 不是为此类用例而设计的,您肯定会遇到 Flink 不支持的边缘情况。

或者,您可以简单地使用 24 小时滚动窗口并在相应的触发器函数中运行您的任务。有关此事的详细信息,请参阅https://flink.apache.org/news/2015/12/04/Introducing-windows.html 。