我是flink的新手。我有两个由FlatMapFunction生成的DataStream,我想用相同的键连接它们,一个steam的元素在其他流中找不到匹配的键是什么,flink会对这个元素做什么,它会永远存储在状态中吗?每个平面图都会生成大量的元素,我想在每个平面图上完成连接。
连接两个可能有不匹配元素的流的正常方法是什么?谢谢
发布于 2019-09-11 21:01:26
Flink的在线培训网站上有一个tutorial on the topic of expiring state,你可能会发现它对你有帮助。这里的方法是使用ProcessFunction手动实现连接。在此示例中,使用计时器清除不匹配状态。另一种选择是使用Flink的State TTL mechanism。
Flink的一些内置联接函数还具有缩小联接范围以避免无限期状态保留的概念--有关更多详细信息,请参阅the docs on joining。
您也可以使用use Flink SQL to do joins。您可以在查询中显式地绑定这些连接,这样它们就不会无限期地保留状态,也可以使用configure the SQL engine to expire state。
https://stackoverflow.com/questions/57889431
复制相似问题