1. 程式人生 > 其它 >Flink(6)之Window

Flink(6)之Window

前言

streaming流式計算是一種被設計用於處理無限資料集的資料處理引擎,而無限資料集是指一種不斷增長的本質上無限的資料集,而window是一種切割無限資料為有限塊進行處理 的手段。

Window型別

Count Window:按照指定的資料條數生成一個Window,與時間無關。

  • Time Window:按照時間生成Window

    滾動視窗(Tumbling Window)

        特點:時間對齊,視窗長度固定,沒有重疊。

    滑動視窗(Sliding Window)

        特點:時間對齊,視窗長度固定,可以有重疊。

    會話視窗(Session Window)

        特點:時間無對齊。

Window API

1.Time Window

說明:

TimeWindow是將指定時間範圍內的所有資料組成一個window,一次對一個window裡面的所有資料進行計算。

①.滾動視窗

.timeWindows(Time.seconds(10))//滾動視窗

②滑動視窗

.timeWinodw(Time.seconds(10),Time.seconds(2))//滑動視窗//視窗分配器

2.Count Window

 .countWindow(3) //計數視窗
 .countWindow(10,2) //滑動視窗 

3.Window function

增量聚合函式

incremental aggregation functions

全視窗函式

full window functions

4.其他API

  • trigger()—觸發器

  • evitor()—移除器

  • .allowedLatencess()—允許處理遲到的資料

  • .sideOutputLateData() —— 將遲到的資料放入側輸出流

  • .getSideOutput() —— 獲取側輸出流