数据湖-Iceberg-源码学习-Kernel-Table Format-数据写入
一、概述
如图所示,Iceberg 在数据写入的时候:
- Iceberg 先把数据写入到 DataFile 文件中
- 当一组 DataFile 文件写完之后,会根据这个 DataFile 文件中 column 的一些统计信息(如: 每个 column 的 min/max 值),生成一个对应的 manifest 文件
- 然后 Iceberg 把一次写入后涉及到的 manifest 文件组成一个 manifest list, manifest list 文件中也会存入一些相 manifest 的统计信息(如: 分区信息等)
- 然后按照整个 manifest list 生成一个对应的 snapshot 文件
- 生成完 snapshot 文件之后,Iceberg 会把当前 snapshot 的 ID 及存储路径等信息写人到 metadata.json 中。
- 当一切准备完毕之后,会以原子操作的方式提交元数据文件 metadata.json
二、设计
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Joker!
评论
ValineTwikoo











