为什么Flink流不支持左连接表达式?



Flink Stream支持内部连接表达式,如window-join, interval-join。但不支持左连接/全连接表达式。当然,window-cogroup表达式可以实现相同的语义,即使事件立即连接,也必须等待完全窗口大小的时间。我的问题是:

  1. 如何从设计的角度解释Flink流不支持左连接/全连接表达式?
  2. 我如何通过Flink DataStream API实现它(如果可以立即转发join -event会更好)?
  3. 是否有一种方法来扩展Flink数据流API来支持左连接:
.leftJoin()
.where()
.window()
.apply()

临时约束连接(如窗口连接或间隔连接)与常规连接的区别在于,在流上下文中,常规连接需要无限期的状态保留。

常规左/全连接可使用Flink的表和SQL api。Flink社区的方向是不再用DataStream API开发关系操作,而是改进DataStream和Table API之间的互操作性。Flink 1.13标志着一个新的里程碑,它使流和表之间的转换变得更加容易,每当需要对数据流进行关系操作时,这是推荐的方法。

相关内容

  • 没有找到相关文章

最新更新