前面我們介紹了Flink DataStream數據處理流程中的source和sink,這篇文章我們介紹一下 Flink的Transformation 的操作,一般常用的算子有下面幾種,我們分別用代碼來演示下他基本用法:
Map操作
val stream = env.generateSequence(1, 5)
//簡單的map操作
//val streamMap = stream.map(item => item * 3)
//複雜的map操作
val streamMap = stream.map(item => {
val x = item * 3
x + 1
})
streamMap.print()
FlatMap操作
FlatMap爲一行轉多行操作,數據返回array類型
val streamFile = env.readTextFile("word.txt")
val streamFlat = streamFile.flatMap(item => item.split(" "))
streamFlat.print()
Filter操作
val streamFilter = stream.filter(item => item != 1)
streamFilter.print()
Connect操作
connect是對兩個Stream的連接操作,通過連接一個算子可以通過不同函數同時對一個stream進行處理。
//connect操作,對ConnectedStreams進行map操作