Flink学习03——Data transformation(算子)
Transformation
数据转换的各种算子,有 Map / FlatMap / Filter / KeyBy / Reduce / Aggregations / Window / WindowAll / Union / Window join / Split / Select 等,算子很多,可以将数据转换计算成想要的数据集。
Map
最简单的转换之一,其中输入是一个数据流,输出的也是一个数据流
FlatMap
输入是一个数据流,输出的可以是一个或多个数据流。
Filter
根据条件判断出结果数据流。
KeyBy
在逻辑上是基于 key 对流进行分区。在内部,它使用 hash 函数对流进行分区。它返回 KeyedDataStream 数据流。
Reduce
返回单个的结果值,并且 reduce 操作每处理一个元素总是创建一个新值。常用的方法有 average, sum, min, max, count,使用 reduce 方法都可实现。
Aggregations
DataStream API 支持各种聚合,例如 min,max,sum 等。 这些函数可以应用于 KeyedStream 以获得 Aggregations 聚合。
Window
Window 函数允许按时间或其他条件对现有 KeyedStream 进行分组。 以下是以 5 秒的时间窗口聚合。
WindowAll
与Window 函数一样,主要区别WindowAll不可以设置并行度。
Union
Union 函数将两个或多个数据流结合在一起。 这样就可以并行地组合数据流。
Window Join
通过一些 key 将同一个 window 的两个数据流 join 起来。
Split
将流拆分为两个或多个流。
Select
在拆分的多个流中选择特定流。