【发布时间】:2019-07-27 21:36:07
【问题描述】:
我只是想了解在 Flink 中使用 CoProcessFunction 的用例。举例说明会帮助我更好地理解这个概念。
【问题讨论】:
标签: apache-flink flink-streaming
我只是想了解在 Flink 中使用 CoProcessFunction 的用例。举例说明会帮助我更好地理解这个概念。
【问题讨论】:
标签: apache-flink flink-streaming
CoProcessFunction 类似于 RichCoFlatMap,但还可以使用计时器。例如,计时器对于过期密钥的过期状态或在保持活动消息未能到达时发出警报很有用。
CoProcessFunction 允许您使用一个流来影响另一个流的处理方式,或丰富另一个流。例如,一个电子商务网站可能有一个订单事件流和一个发货事件流,并且他们希望为下订单后 24 小时内尚未发货的订单创建一个事件流。这两个流可以由 orderId 键入,并连接在一起。当订单到达时,它会以键控状态记录,并创建一个计时器以在 24 小时后触发。当装运事件到达时,状态和计时器被清除。如果计时器触发,则使用该状态将订单发送到未完成的订单服务。
有关这方面的更多信息以及代码示例,请参阅 connected streams 和 process function 以及这些教程附带的实验室。
【讨论】: