Flink中如何指定字段
Flink中不会在输入类型中定义好键值,而是将键值作为一个函数输入值
接下来讨论数据类型定义引用字段和键值的几种方法.
1.字段位置
使用字段位置,这一单常用于数组 元祖的类型
通过元素的位置来定义键值
当然可以定义复合键值对,比如下面的
2.字段表达式
使用字段的名称来表示选择的字段
比如上面的样例类,我们就可以将字段id作为分区的键值
POJO和样例类的方式一致,而且支持嵌套,及我在类中包含另一个POJO类,比如我们使用嵌套字段,可以使用 “.”来获取嵌套数据
或者在嵌套中获取元祖
3.使用键值选择器
使用键值选择器KeySelector函数,会从输入事件中提取键值
创建一个具有确定类型的键值选择器
KeySelector函数会接收一个输入项,返回一个键值.
这个键值甚至可以使用计算得到的,比如下面我们通过计算得到一个字段的最大值,作为键值