Iceberg架构

有了前面对Apache Iceberg的初步了解,接下来深入了解一下它的架构体系。

Iceberg表的结构有三层,分别是:

  • (1) Iceberg Catalog(目录层)。
  • (2) metadata layer(元数据层),包含:元数据文件(metadata file);清单列表(manifest list);清单文件(manifest file)。
  • (3) data layer(数据层)。

下面是一张Iceberg表结构的结构图,如图11-26所示:

Iceberg Catalog

读取Iceberg表的第一步是找到该表当前元数据指针的位置。在这个可以找到当前元数据指针的当前位置的中心位置,就是Iceberg catalog。

Iceberg Catalog的主要需求是它必须支持更新当前元数据指针的原子操作(例如,HDFS, Hive Metastore, Nessie)。这就是允许Iceberg表上的事务是原子的并提供正确性保证的原因。

在catalog目录中,每个表都有一个指向该表当前元数据文件的引用或指针。例如,在图11-27中,有两个元数据文件。目录中表的当前元数据指针的值是右侧元数据文件的位置。

这些数据的形式取决于使用的是什么Iceberg目录:

......

......

抱歉,只有登录会员才可浏览!会员登录


《Flink原理深入与编程实战》