1.源算子
SourceFunction 并行度只能为1
ParallelSourceFunction 并行度
2.转换算子
(1)基本类型
所有 Java 基本类型及其包装类,再加上 Void、String、Date、BigDecimal 和 BigInteger。
(2)数组类型
包括基本类型数组(PRIMITIVE_ARRAY)和对象数组(OBJECT_ARRAY)
(3)复合数据类型
⚫ Java 元组类型(TUPLE):这是 Flink 内置的元组类型,是 Java API 的一部分。最多
25 个字段,也就是从 Tuple0~Tuple25,不支持空字段
⚫ Scala 样例类及 Scala 元组:不支持空字段
⚫ 行类型(ROW):可以认为是具有任意个字段的元组,并支持空字段
⚫ POJO:Flink 自定义的类似于 Java bean 模式的类
(4)辅助类型
Option、Either、List、Map 等
(5)泛型类型(GENERIC)
Flink 支持所有的 Java 类和 Scala 类。不过如果没有按照上面 POJO 类型的要求来定义,
就会被 Flink 当作泛型类来处理。Flink 会把泛型类型当作黑盒,无法获取它们内部的属性;它
TypeHint
基本转换算子 基于当前数据转换 =Map
map:
把数据流中数据处理 一一对应
fliter:过滤
flatmap: 扁平映射 2步操作的结合 flat+map 拆分
可以涵盖map fliter功能
聚合算子 针对数据产生新的特征数据 ==Reduce
keyby 按键分区
max min maxby reduce 等
用户自定义函数UDF
RICH函数 --可以获取生命周期
RichMapFunction
RichFilterFunction
...
物理分区
随机分区
shuffle() Sets the partitioning of the DataStream so that the output elements are shuffled uniformly
轮训分区
rebalance()
重缩放
rescale
自定义分区