Apache Flink 进阶(五):数据类型和序列化

科牛

关注

阅读 62

2021-09-21

第一部分:

Flink 的数据类型

TypeInformation

Flink 的序列化过程

第二部分:

Flink 序列化的最佳实践

最常见的场景

实践–类型声明

  • 对于非泛型类,直接传入 class 对象即可。
    PojoTypeInfo<Person> typeInfo = (PojoTypeInfo<Person>) TypeInformation.of(Person.class);
    
  • 对于泛型类,需要通过 TypeHint 来保存泛型类型信息。
    final TypeInfomation<Tuple2<Integer,Integer>> resultType = TypeInformation.of(new TypeHint<Tuple2<Integer,Integer>>(){});
    
  • 预定义常量。
  • 自定义 TypeInfo 和 TypeInfoFactory。

实践–注册子类型

final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
Env. registerType(typeClass);

实践–Kryo 序列化

第三部分:

Flink 通信层的序列化:

精彩评论(0)

0 0 举报