【问题标题】:Flink batch continuous runningFlink 批量连续运行
【发布时间】:2018-10-19 17:15:53
【问题描述】:

我有 flink 批处理作业。连续运行的最佳方式是什么? (完成后需要重启,因为流式作业可以提供新数据)

如果作业完成,我想立即重新开始。

  • 无限循环和内部调用任务?
  • 制作一个 bash 脚本并始终将作业推送到作业管理器中? (我认为这是非常大的资源浪费)

谢谢

【问题讨论】:

  • 为什么不首先使用流式作业?
  • @MatthiasJ.Sax 你觉得怎么样?我想从 mongodb 读取新记录...什么会触发流? Stream 被设计(和优化)用于连续输入处理而不是批处理作业(以不同方式优化的批处理作业)
  • 我引用您的问题:“它需要在完成后重新启动,因为流式作业可以提供新数据”。也许您可以详细说明一下您的整体设置。您想在每个批处理作业中处理来自 MongoDB 的所有数据吗?还是您处理“差异”?
  • 我有一个集合,当它来自 kafka 时,流式作业会写入新数据。聚合器从集合中获取所有数据,过滤(检查它们的依赖关系是否已经存在),处理并删除处理过的数据(集合中仍然有一些数据,可以在下一次迭代中处理)
  • @MatthiasJ.Sax 从 mongo 流式传输的主要问题:您无法检测文档何时处理,如果处理需要很长时间,您已经可以从集合中获取。

标签: apache-flink flink-streaming


【解决方案1】:

在一个类似的用例中,我们针对同一个集合运行 Flink 作业;我们定期触发新工作。 [每天、每小时等]https://azkaban.github.io/ 可用于调度。这不是你提到的。但是,可能足以解决您的用例的紧密匹配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    • 2017-12-02
    相关资源
    最近更新 更多