我刚刚开始学习apache flink,遇到了一个棘手的问题:如何暂停flink的工作,然后重新开始?flink支持使用命令行挂起作业吗?
aydmsdu91#
是的,你当然可以和Flink一起做。您想了解保存点,它可以从命令行或restapi触发。更新通常流处理器的目标是在新元素可用时对其进行连续、即时的处理。如果您想暂停处理,那么我猜这可能是为了暂时忽略源并删除到达的事件,或者希望在一段时间内节省计算资源,然后在不丢失任何输入的情况下恢复。 RichCoFlatmap 以及 CoProcessFunction 是你可能会发现有用的积木。例如,您可以设置一个连接到套接字的控制流,当您想“挂起”主流时,发送一个事件,使主流开始删除其输入,或者执行阻塞读取,或者睡眠。或者您可以考虑在jobs之上添加自己的抽象层,并处理jobids将发生变化的事实。请注意,作业的名称可以在保存点/重新启动时保持不变。
RichCoFlatmap
CoProcessFunction
1条答案
按热度按时间aydmsdu91#
是的,你当然可以和Flink一起做。您想了解保存点,它可以从命令行或restapi触发。
更新
通常流处理器的目标是在新元素可用时对其进行连续、即时的处理。如果您想暂停处理,那么我猜这可能是为了暂时忽略源并删除到达的事件,或者希望在一段时间内节省计算资源,然后在不丢失任何输入的情况下恢复。
RichCoFlatmap
以及CoProcessFunction
是你可能会发现有用的积木。例如,您可以设置一个连接到套接字的控制流,当您想“挂起”主流时,发送一个事件,使主流开始删除其输入,或者执行阻塞读取,或者睡眠。或者您可以考虑在jobs之上添加自己的抽象层,并处理jobids将发生变化的事实。请注意,作业的名称可以在保存点/重新启动时保持不变。