ConnectedStreams 已暂停,直到控制流 "ready"

ConnectedStreams paused until control stream "ready"

完成此任务的规范方法是什么:

Given a ConnectedStreams, e.g., a CoFlatMap UDF, how to prevent any processing of the data stream until the control stream is "ready", so to speak

我的具体用例如下:我有一个 CoFlatMap 函数。数据流包含需要用附加信息丰富的元素(它们带有一些空字段)。丢失的信息取自控制流,其元素来自 kafka 源。本质上,我想要的是暂停任何处理,直到阅读完整(控制)主题。

目前尚不支持暂停一个流,除非您深入研究并实现自己的运算符(不推荐)。

相反,除了 broadcast pattern.

中的所有其他内容外,您还需要缓存数据流中的所有元素,直到控制流完全加载为止

为了避免潜在地缓存来自主流的大量数据,可以使用另一种方法。通常,您使用有状态连接将丰富的数据(在您的问题中也称为“控制流”)与主数据流结合起来。因此,由于您必须在连接状态中保存丰富数据,因此您可以在仅读取丰富数据的模式下执行工作流的初始 运行。一旦您知道(例如通过计数器或 Kafka 偏移量)丰富的流已完全加载到状态,您可以获取一个保存点,然后以正常模式重新启动工作流。