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

2021-10-03 18:49:17 字數 1592 閱讀 9623

1. 獲得 execution 環境

getexecutionenvironment()

createlocalenvironment()

createremoteenvironment

(string host,

int port, string.

.. jarfiles)`

批處理示例:

executionenvironment env = executionenvironment.

getexecutionenvironment()

;dataset

text = env.

readtextfile

("file:///e:\\wordcounts.txt");

text.

print()

;

流處理示例:

streamexecutionenvironment env = streamexecutionenvironment.

getexecutionenvironment()

;datastream

text = env.

readtextfile

("file:///e:\\wordcounts.txt");

text.

print()

;env.

execute()

;

2. 一對一轉換操作

一對一操作主要是對源資料進行一對一轉換,如map、flatmap和filter等。

批處理示例:

dataset

> words = text.

map(

newmapfunction

>()

});words.

print()

;

流處理示例:
datastream

> words = text.

map(

newmapfunction

>()

});words.

print

()

3. keyby/groupby指定鍵值分類

keyby為流處理介面,groupby為批處理介面。

keyedstream

, tuple> keyed = words.

keyby(0

);//0 代表 tuple2 (二元組)中第乙個元素

keyedstream

, tuple> keyed = words.

keyby(0

,1);

//0,1 代表二元組中第乙個和第二個元素作為 key\

datastream

,string,long>> ds;ds.

keyby(0

) 將會把 tuple2

整體作為 key

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

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

使用 transform 函式 mapfunction 介面 其中泛型的第一 string 代表輸入型別,第二個 integer 代表輸出型別 class mymapfunction implements mapfunction data.map newmymapfunction lambda表示式...