我刚开始学习apache flink并遇到问题: 我如何暂停flink工作然后恢复它? flink支持使用命令行暂停作业吗?
答案 0 :(得分:1)
是的,你当然可以用Flink做到这一点。您想了解savepoints,可以从command line或REST API触发。
<强>更新强>
通常,流处理器的目标是在新元素可用时对其进行连续,即时的处理。如果你想暂停处理,那么我想这可能是为了一段时间忽略源并丢弃到达的事件,或者希望在一段时间内保存计算资源并在以后恢复而不会丢失任何输入
RichCoFlatmap
和CoProcessFunction
是您可能觉得有用的构建块。您可以设置连接到套接字的控制流(例如),当您想要“挂起”主流时,发送导致主流开始丢弃其输入,或执行阻塞读取或睡眠的事件,例如。
或者你可能会想到在工作之上添加你自己的抽象层,并应对工作会改变的事实。请注意,作业的名称在保存点/重新启动时保持不变。