《基于Apache Flink的流处理》读书笔记( 四 )


十五、基于时间的双流Join15.1基于间隔的Join基于时间的Join会对两条流中拥有相同键值以及彼此之间时间戳不超过某一指定间隔的的事件进行Join        也就是它只支持事件语义以及INNER JOIN        基于间隔的Join需要同时对双流的记录进行缓冲,缓冲的依据是配置的between时间戳,有2个变量 , 一个是下界 , 为负值,一个是上界,为正值 。对于第一条流来说,时间戳大于当前水位线减去间隔上界的数据都会被缓存起来,对于第二条流而言 , 所有时间戳大于当前水位线加上间隔下界的数据都会被缓存起来 。
15.2基于窗口的Join基于窗口的Join原理是:将两条流输入流中的元素分配到公共窗口中并且在窗口完成时进行Join 。具体的做法是:通过窗口分配器将2条流中的事件分配到公共的窗口内 。当公共的窗口触发计算时,算子会遍历2个输入中元素的每个组合去调用JoinFunction 。
【《基于Apache Flink的流处理》读书笔记】

推荐阅读