1、Flink支持的DataType
- Java Tuple 和 Scala case class
- 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
2、Flink 的序列化
- Flink自带了针对诸如int,long,String等标准类型的序列化器
- 针对Flink无法实现序列化的数据类型,我们可以交给Avro和Kryo
使用方法如下:
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
使用avro序列化:
env.getConfig().enableForceAvro();
使用kryo序列化:
env.getConfig().enableForceKryo();
使用自定义序列化:
env.getConfig().addDefaultKryoSerializer(Class<?> type, Class<? extends Serializer<?>> serializerClass)