🗒️Paimon 数据写入流程
2024-8-10
| 2024-8-11
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password

StoreSinkWriteImpl

StoreSinkWriteImpl 开始,前面 Sink 调用 StoreSinkWriteImpl 的流程先跳过。
StoreSinkWriteImpl 提供了两个写入方法:
  1. write(InternalRow rowData) 是在 fixed bucket 模式下使用的,按 key 计算hash 即可。
  1. write(InternalRow rowData, int bucket) 是在 dynamic bucket 模式下使用的,bucket 值需要根据索引文件算出来。

MergeTreeWriter

对于主键表来说,会调用到 MergeTreeWriter 的 write 方法。可以看到,会尝试向缓存中写入数据,如果数据写入失败,会去刷出缓存,再往新的缓存写数据。
内存满后 刷写writeBuffer. 排序后, 遍历buffer. 应用merge函数, 并创建level 0的 file writer, 将数据写入到datafile中。如果同时配置了Changelog producer是input,那么会将原始的数据写出到Changelog文件中。
Paimon Compaction 流程Paimon dynamic bucket 的实现
Loading...
目录