开发者社区 问答 正文

Flink的数据抽象及数据交换过程是怎样的?

Flink的数据抽象及数据交换过程是怎样的?

展开
收起
游客4iodw4vsbx244 2021-12-08 16:29:33 384 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • Flink 为了避免JVM的固有缺陷例如java对象存储密度低,FGC影响吞吐和响应等,实现了自主管理内存。MemorySegment就是Flink的内存抽象。默认情况下,一个MemorySegment可以被看做是一个32kb大的内存块的抽象。这块内存既可以是JVM里的一个byte[],也可以是堆外内存(DirectByteBuffer)。

    在MemorySegment这个抽象之上,Flink在数据从operator内的数据对象在向TaskManager上转移,预备被发给下个节点的过程中,使用的抽象或者说内存对象是Buffer。

    对接从Java对象转为Buffer的中间对象是另一个抽象StreamRecord。

    2021-12-08 16:35:39 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论