【18】Flink 之 支持的DataType和序列化

x33g5p2x  于2021-12-25 转载在 其他  
字(0.6k)|赞(0)|评价(0)|浏览(589)

1、Flink支持的DataType

  1. Java Tuple 和 Scala case class
  2. Java POJOs:java实体类
      - Primitive Types
       默认支持java和scala基本数据类型
      - General Class Types
       默认支持大多数java和scala class
      - Hadoop Writables
       支持hadoop中实现了org.apache.hadoop.Writable的数据类型
      Special Types
       例如scala中的Either Option 和Try
  1. Flink自带了针对诸如int,long,String等标准类型的序列化器
  2. 针对Flink无法实现序列化的数据类型,我们可以交给Avro和Kryo
      使用方法如下:
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();

使用avro序列化:

env.getConfig().enableForceAvro();

使用kryo序列化:

env.getConfig().enableForceKryo();

使用自定义序列化:

env.getConfig().addDefaultKryoSerializer(Class<?> type, Class<? extends Serializer<?>> serializerClass)

Flink-1.6特殊序列化器官方文档

相关文章