Flink學習筆記(六) flink的運算元與富函式

2021-10-02 17:22:28 字數 790 閱讀 4961

一:flink中的的transformation運算元

flink常用運算元就不自己詳細記錄了,看這裡就夠了。

二:富函式

在呼叫datastream的運算元例如map、filter時,可以傳入乙個函式,也可以傳入乙個function類,就像這樣:

val filterstream = stream.

filter

(new

filterfunction

[string]

})

其實每個運算元的function類都對應了乙個rich版本,這就是富函式。它與常規函式的不同在於:可以獲取執行環境上下文,並擁有一些生命週期方法,以實現更複雜的功能。示例如下:

class

mymapfunction

extends

richmapfunction

[string,string]

override def map

(in: string)

: string =

///open方法會在運算元呼叫後執行,一般做一些清理工作,例如關閉連線

override def close()

: unit =

}

這個富函式的使用方法:

val mapstream = stream.

map(

newmymapfunction

)

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學習筆記1 Flink框架api介紹

1.獲得 execution 環境 getexecutionenvironment createlocalenvironment createremoteenvironment string host,int port,string.jarfiles 批處理示例 executionenvironme...