- DataSource:数据源输入,
- Transformation:具体操作,Map,Flatmap,Filter
- Sink:处理后数据存入指定介质
DataSource
-
基于文件
readTextFile(path)
-
基于Socket
socketTextStrean
-
基于集合
fromCollection(Collection)
-
自定义输入
Transformation
-
Map:
-
FlatMap:
-
Filter:
-
KeyBy:根据指定的key分组
-
Reduce:对数据进行聚合操作
-
Aggregations:sum(), max(), min()等
-
Union:合并多个流,所有流类型必须一致
-
Connect:合并两个流,流类型可不同
-
coMap,coFlatMap
-
Split:把一个数据流分为多个流
-
Select:选择Split后的流
-
Random partitioning:随机分区
DataStream.shuffle()
-
Rebalancing:对数据集再平衡,重分区,消除数据倾斜
DataStream.rebalance()
-
Rescaling:重新调节
DataStream.rescale()
-
Custom partitioning:自定义分区
DataStream.partitionCustom(partitioner, "someKey")
DataStream.partitionCustom(partitioner, 0)
Sink
-
writeAsText()
-
print(), printErr()
-
自定义输出:addSink数据输出到第三方存储介质
-
自定义Sink:实现SinkFuction接口;继承RichSinkFunction类