Flink學習筆記4 Flink框架api介紹

2021-10-03 19:12:16 字數 1180 閱讀 9131

1. aggregations

aggregations通過keyedstream進行一些聚合操作,例如sum(),min(),max()等。示例如下:

keyedstream.

sum(

0)或者keyedstream.

sum(「key」)

2. connect

connect和union類似,但是只能連線兩個流,兩個流的資料型別可以不同,會對兩個流中的資料應用不同的處理方法。示例如下:

datastreamsource

src1 = env.

addsource

(new

myparallesource()

)datastreamsource

src2 = env.

addsource

(new

myparallesource()

)singleoutputstreamoperator

src2_str = text2.

map(()

->

(return

"str"

+ value));

connectedstreams

connectstream = text1.

connect

(text2_str)

;

3. split

根據一定的規則將乙個資料流切分成多個資料流。

4. window/windowall

window按時間進行聚合或者其他條件對keyedstream進行分組

inputstream.

keyby(0

).window

(time.

seconds(10

))

windowall 函式允許對常規資料流進行分組。通常,這是非並行資料轉換,因為它在非分割槽資料流上執行。

inputstream.

keyby(0

).windowall

(time.

seconds(10

))

4 Flink訊息亂序 EventTime常見問題

1 引言 2 eventtime傾斜 2.1 情形 2.2 排查思路 2.3 解決方式 3 消費不均勻 3.1 情形 3.2 解決方式 4 資料延時 4.1 情形 4.1 解決方式 在flink中,eventtime即事件時間,能夠反映事件在某個時間點發生的真實情況,即使在任務重跑情況也能夠被還原,...

flink學習 flink架構

flink結構 graph 2個併發度 source為1個併發度 的sockettextstreamwordcount四層執行圖的演變過程 jobgraph streamgraph經過優化後生成了 jobgraph,提交給 jobmanager 的資料結構。executiongraph jobman...

Flink學習筆記(五) flink資料合流

上一章記錄了flink的分流操作,那麼有分流是不是應該有合流呢?當然是有這樣的操作啦 stream1和stream2流需要合併為stream流 1.union合流 2.connect合流 前置配置 streamexecutionenvironment env streamexecutionenvir...