开发者社区> 问答> 正文

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

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

展开
收起
游客4iodw4vsbx244 2021-12-08 16:29:33 374 0
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
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载