当前位置:   article > 正文

Flink的序列化如果做的?_flink 自动序列化问题

flink 自动序列化问题
Java 本身自带的序列化和反序列化的功能,但是辅助信息占用空间比较大,在序列化对 象时记录了过多的类信息。Apache Flink 摒弃了 Java 原生的序列化方法,以独特的方式处理 数据类型和序列化,包含自己的类型描述符,泛型类型提取和类型序列化框架。
TypeInformation 是所有类型描述符的基类。它揭示了该类型的一些基本属性,并且可以生 成序列化器。

TypeInformation 支持以下几种类型:

  • BasicTypeInfo: 任意 Java 基本类型或 String 类型。
  • BasicArrayTypeInfo: 任意 Java 基本类型数组或 String 数组。
  • WritableTypeInfo: 任意 Hadoop Writable 接口的实现类。
  • TupleTypeInfo: 任意的 Flink Tuple 类型(支持 Tuple1 to Tuple25)Flink tuples 是固定长度固定类型的 Java Tuple 实现。
  • CaseClassTypeInfo: 任意的 Scala CaseClass(包括 Scala tuples)。
  • PojoTypeInfo: 任意的 POJO (Java or Scala),例如,Java 对象的所有成员变量,要么是 public 修饰符定义,要么有 getter/setter 方法。
  • GenericTypeInfo: 任意无法匹配之前几种类型的类。
针对前六种类型数据集, Flink 皆可以自动生成对应的 TypeSerializer ,能非常高效地对 数据集进行序列化和反序列化。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/413086
推荐阅读
相关标签
  

闽ICP备14008679号