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