Flink 内存管理
MemorySegment 是Flink的最小内存分配单元、默认 32KB,先放到内存中,也可以序列化,借助KryoSerializer等、内存不够序列化到 磁盘。 HeapMemorySegment 提供了操作堆内存的方法;DataOutputView 扩展了java.io.DataOuput,提供多个写入视图、DataInputView 接口扩展了 java.io.DataInput,提供多个读取视图、MemoryManager主要用于管理排序、哈希和缓存等操作对应的内存空间,且这些操作主要集中在离线计算场景中、NetworkBufferPool通过MemorySegmentFactory申请用于存储NetworkBuffer的MemorySegment内存空间。调用过程:TaskManager –> TaskSlot –> MemorySegment。序列化和反序列化,TypeInformation 分为:BasicTypeInfo、BasicArrayTypeInfo、CompositeType、WritableTypeInfo、GenericTypeInfo