【发布时间】:2018-10-19 17:15:53
【问题描述】:
我有 flink 批处理作业。连续运行的最佳方式是什么? (完成后需要重启,因为流式作业可以提供新数据)
如果作业完成,我想立即重新开始。
- 无限循环和内部调用任务?
- 制作一个 bash 脚本并始终将作业推送到作业管理器中? (我认为这是非常大的资源浪费)
谢谢
【问题讨论】:
-
为什么不首先使用流式作业?
-
@MatthiasJ.Sax 你觉得怎么样?我想从 mongodb 读取新记录...什么会触发流? Stream 被设计(和优化)用于连续输入处理而不是批处理作业(以不同方式优化的批处理作业)
-
我引用您的问题:“它需要在完成后重新启动,因为流式作业可以提供新数据”。也许您可以详细说明一下您的整体设置。您想在每个批处理作业中处理来自 MongoDB 的所有数据吗?还是您处理“差异”?
-
我有一个集合,当它来自 kafka 时,流式作业会写入新数据。聚合器从集合中获取所有数据,过滤(检查它们的依赖关系是否已经存在),处理并删除处理过的数据(集合中仍然有一些数据,可以在下一次迭代中处理)
-
@MatthiasJ.Sax 从 mongo 流式传输的主要问题:您无法检测文档何时处理,如果处理需要很长时间,您已经可以从集合中获取。
标签: apache-flink flink-streaming