join操作很常见,与我们数据库中常见的inner join类似,它数据的数据侧重与pair,它会按照一定的条件取出两个流或者数据集中匹配的数据返回给下游处理或者输出。
Join操作DataStream时只能用在window中,和cogroup操作一样。
1.操作DataStream
我们都知道window有三种window类型,因此join与其相对,也有三种,除此之外,还有Interval join:
- Tumbling Window Join
- Sliding Window Join
- Session Window Join
- Interval Join
它的编程模型如下:
stream.join(otherStream)
.where(<KeySelector>)
.equalTo(<KeySelector>)
.window(<WindowAssigner>)
.apply(<JoinFunction>)
Tumbling Window Join
从上图中可以看出,join的是每