Streaming non window left outer join是flink1.6中的一个新功能。当我在两个动态表之间做它。联接结果不正常。我该如何正确使用此功能?两个动态表都是按顺序排列的data_update_time。NonWindowJoin左表的状态和右表状态都使用flink管理状态MapState。当我查看non window joinflink 的代码时。我很困惑:(1)NonWindowJoin.scala代码MapState是Row对象 的关键。该hashCode和equal的功能Row是由各个领域的决定Row。因此,如果流事件来自binlogmysql数据库,MapState[Row, JTuple2[Long, Long]]则将始终附加(不更新)。那MapState将记录mysql数据库中相同记录的更改日志。我怀疑连接结果的顺序是否未确定?(2)迭代它时,是否按照状态的顺序遍历?(3)如何找不到连接结果的原因。
无法保证联接结果的顺序。就像在关系数据库中一样,Flink的连接以任何方便且高效的顺序生成结果。连接迭代MapState对象,这些迭代器的特定顺序取决于正在使用哪个状态后端。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。