《基于Apache Flink的流處理》讀書筆記( 四 )


十五、基于時間的雙流Join15.1基于間隔的Join基于時間的Join會對兩條流中擁有相同鍵值以及彼此之間時間戳不超過某一指定間隔的的事件進行Join        也就是它只支持事件語義以及INNER JOIN        基于間隔的Join需要同時對雙流的記錄進行緩沖,緩沖的依據是配置的between時間戳,有2個變量 , 一個是下界 , 為負值,一個是上界,為正值 。對于第一條流來說,時間戳大于當前水位線減去間隔上界的數據都會被緩存起來,對于第二條流而言 , 所有時間戳大于當前水位線加上間隔下界的數據都會被緩存起來 。
15.2基于窗口的Join基于窗口的Join原理是:將兩條流輸入流中的元素分配到公共窗口中并且在窗口完成時進行Join 。具體的做法是:通過窗口分配器將2條流中的事件分配到公共的窗口內 。當公共的窗口觸發計算時,算子會遍歷2個輸入中元素的每個組合去調用JoinFunction 。
【《基于Apache Flink的流處理》讀書筆記】

推薦閱讀