我想写一个任务,每24小时后由apache flink触发,然后由flink处理。要做到这一点,可能的方法是什么?flink是否提供任何作业调度功能?
发布于 2018-03-13 06:05:47
Apache Flink不是一个作业调度程序,而是一个事件处理引擎,它是一个不同的范例,因为Flink作业应该连续运行,而不是由调度触发。
也就是说,您只需使用现成的调度器(即cron)即可实现该功能,该调度器计划在您的Flink集群上启动一个作业,然后在您收到作业已完成的某种通知(即通过Kafka主题)后停止它,或者简单地使用超时,在此之后您将假定作业已完成,您可以停止该作业。但同样,特别是因为Flink不是为这种用例而设计的,你肯定会遇到Flink不支持的边缘情况。
或者,您可以简单地使用24小时滚动窗口,并在相应的触发函数中运行您的任务。有关这一问题的详细信息,请参阅https://flink.apache.org/news/2015/12/04/Introducing-windows.html。
https://stackoverflow.com/questions/49244180
复制相似问题