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...