当前位置: 首页 > 知识库问答 >
问题:

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

柴博
2023-03-14

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

  1. 如何从设计角度解释Flink Stream不支持左连接/全连接说明?
  2. 我如何通过Flink DataStream API实现它(如果可以立即转发加入事件会更好)?
  3. 有没有办法扩展Flink DataStream API以支持左连接,例如:
.leftJoin()
.where()
.window()
.apply()

共有1个答案

能业
2023-03-14

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

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

 类似资料:
  • 本文向大家介绍为什么Java不支持<<相关面试题,主要包含被问及为什么Java不支持<<时的应答技巧和注意事项,需要的朋友参考一下 Java添加了运算符“ >>>”来执行逻辑右移,但是由于 逻辑和算术左移运算是相同的 ,因此Java中没有“ <<<”运算符。 来自Java的Shifts …

  • 我试图从动态表和基于某些字段的流中派生新表。 有没有人能为你提供最好的指导。我对flink和尝试新事物是陌生的。 书籍 ============================ BookId, Instruments, Quantity Book1, Goog,100 Book2, Vod,10 Book1, Appl,50 Book2, Goog,60 Book1, Vod,130 Book3,

  • 我注意到一件奇怪的事情,显然Firefox说它支持HTTPS上的Brotli,但不支持HTTP?Brotli与gzip类似,但效率更高,为什么它会将其限制为HTTPS?在HTTPS选项卡上,我看到: 他被派去了。但在另一个网站上,我没有看到。为什么它不能做Brotli压缩HTTP?

  • 我想离开加入流到桌子上。 这显然是一个简化的演示场景。在使用更大的生产数据集之前,我想了解如何使用Flink API通过玩具数据集实现这一点。 表联接上的文档显示了如何联接两个表并取回另一个表,这不是我想要的: https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/tableApi.html#joins Dat

  • 问题内容: Java为什么不包括对无符号整数的支持? 在我看来,这是一个奇怪的遗漏,因为它们允许人们编写不太可能在意外大的输入上产生溢出的代码。 此外,使用无符号整数可以是一种自我证明的形式,因为它们指示无符号int打算保留的值永远不会为负。 最后,在某些情况下,无符号整数对于某些操作(例如除法)可能更有效。 包括这些的不利之处是什么? 问题答案: 在两行之间阅读时,我认为逻辑是这样的: 通常,J

  • 这个sql查询要6s多,但是我两张表数据量都不是很大呀。box_api_data目前40000条,box_data_info目前10006条。基本都是比较少的,这么个数据量连接查询居然干到了6s,是我sql有问题吗?目前两张表都没有索引。