apache-flink - 如何在 apache-flink 中安排作业

标签 apache-flink

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

最佳答案

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

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

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

关于apache-flink - 如何在 apache-flink 中安排作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49244180/

相关文章:

docker - 如何通过 docker-compose.yml 将配置参数传递给 Flink Docker 镜像?

java - Apache 弗林克 : can't use writeAsCsv() with a datastream of subclass tuple

stream - Flink 中的水印和触发器有什么区别?

error-handling - Apache Flink - "keyBy"中的异常处理

apache-flink - 如何在 apache kafka 连接器中实现 exactly once 语义

java - Flink 1.9 没有方案 : hdfs on kubernetes 的文件系统

python - 如何将 Apache Flink DataSet python API 与 IDE 结合使用,例如Windows 10 上的 PyCharm?

java - 将某些 Flink 操作优先于其他操作

python - 在 apache flink 中嵌入现有的 ML 模型

java - 如何在 apache flink 中加入两个流?