数据湖-Iceberg-源码学习-Kernel-Table-元数据变更
一、概述
TableMetadata 表示一张 Table 的元数据,Table 通过 TableOperations 和 Catalog 进行交互,查找和保存这些元数据。
二、设计
Iceberg 是一种 Table Format, Table 是 Iceberg 的核心概念,由 Schema,分区信息,文件存储路径,文件存储格式,properties 属性,统计信息等。这些信息统称为 metadata, Iceberg 提供 metadata 的抽象,由类 org.apache.iceberg.TableMetadata 表示。
Table 为了查找元数据需要和 Catalog 进行交互,与 Catalog 的交互操作由 TableOperations 来完成。每个 Catalog 都有自己的 TableOperations 实现。

核心的方法主要有:
- $current$ 方法通过 Catalog API 加载出当前表的 metadata 数据
- $commit$ 方法数据写入完成后提交当前表,也就是生成一个 snapshot
- $io$ 方法表示当前表的底层存储介质,比如 HDFS, AWS
三、Schema 演化
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Joker!
评论
ValineTwikoo











