Stream flink如何处理两个流通过键连接,但没有匹配的键

Stream flink如何处理两个流通过键连接,但没有匹配的键,stream,apache-flink,Stream,Apache Flink,我是弗林克的新手。我有两个由FlatMapFunction生成的DataStream,我想用同一个键连接它们,一个steam的元素在另一个流中找不到匹配的键,flink会对这个元素做什么,它会永远以状态存储吗?每个flatmap都会生成大量元素,我想在每个flatmap上完成连接 连接两个可能有不匹配元素的流的正常方式是什么?谢谢弗林克的在线培训网站有一个你可能会觉得有用的网站。这里的方法是使用ProcessFunction手动实现连接。在本例中,计时器用于清除不匹配状态。另一种选择是使用弗林克

我是弗林克的新手。我有两个由
FlatMapFunction
生成的
DataStream
,我想用同一个键连接它们,一个steam的元素在另一个流中找不到匹配的键,flink会对这个元素做什么,它会永远以状态存储吗?每个flatmap都会生成大量元素,我想在每个flatmap上完成连接


连接两个可能有不匹配元素的流的正常方式是什么?谢谢

弗林克的在线培训网站有一个你可能会觉得有用的网站。这里的方法是使用ProcessFunction手动实现连接。在本例中,计时器用于清除不匹配状态。另一种选择是使用弗林克的

Flink的一些内置连接函数还有一个概念,即缩小连接的范围,以避免不确定的状态保留——有关更多详细信息,请参阅


你也可以。您可以在查询中显式绑定这些联接,这样它们就不会无限期地保留状态,也可以为您这样做。

我可以继续将过期元素推送到下一个运算符吗?是的,当计时器触发时,ProcessFunction可以将过期元素转发到下一个运算符。它还可以使用一个侧面输出将过期的元素发送给另一个下游操作员进行特殊处理。