Spark结构化流之join

本文介绍了Spark结构化流中的join操作,包括流静态联接和流流连接。内容涉及内部联接、流流内部连接的语义保证、水印延迟、事件时间约束以及外部联接的处理。此外,还讨论了在不同场景下如何定义水印和时间范围条件以处理延迟和乱序数据。
摘要由CSDN通过智能技术生成

一.join操作

结构化流支持将流数据集/数据帧与静态数据集/数据帧以及另一个流数据集/数据帧连接在一起。流连接的结果是增量生成的,类似于流聚合的结果。请注意,在所有受支持的联接类型中,使用流Dataset/DataFrame进行联接的结果将与使用包含流中相同数据的静态Dataset/DataFrame进行联接的结果完全相同。

二.流静态联接

自从Spark 2.0引入以来,结构化流已支持流和静态DataFrame / Dataset之间的联接(内部联接和某种类型的外部联接)。如下:

val staticDf = spark.read. ...
val streamingDf = spark.readStream. ...

streamingDf.join(staticDf, "type")          // inner equi-join with a static DF
streamingDf.join(staticDf, "type", "right_join")  
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值