前面我们介绍了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操作