java在ApacheFlink中暂停数据流并查看运算符的状态
我试图解决以下情况:
我有一张1000行的桌子。我将map函数应用于表的行。数据流启动后,我想随机暂停数据流的执行。比方说,当我暂停时,已经处理了30行。因此,map操作符应该打印其状态,即到目前为止处理了30行。一段时间后,我可以恢复执行
在弗林克有可能这样做吗
ApacheFlink使用Akka,即它实现了JobClient
、JobManager
和TaskManager
作为Akka
参与者。在Akka
中,参与者可以定义自己的行为并通过消息进行交流。我在Akka中实现了暂停功能,参与者在这里接收暂停消息并暂停执行。所以我想我可以通过从JobClient
发送一条暂停消息来暂停程序。有人能指导我怎么做吗
如果没有,是否有其他方法实现这些功能
# 1 楼答案
因此,不支持暂停Flink。在集群中协调全局暂停是很困难的,而且这种功能的好处并不明显
然而,你可以做一些事情来满足你的目标。例如,如果这是流媒体作业,则可以停止输入数据。然后,您可以为感兴趣的操作符检查各种度量的值,例如numRecordsIn