Apache Iceberg 底层数据存储 Iceberg 数据组织图(HDFS): 5个SnapShot对应5个manifest list清单列表。 1.查询最新快照数据 获取最新元数据 获取 Iceberg 表的最新元数据文件,eg:00000-ec504.metadata.json。 解析
Apache Iceberg 底层数据存储 Iceberg 数据组织图(HDFS): 5个SnapShot对应5个manifest list清单列表。 1.查询最新快照数据获取最新元数据 解析元数据
获取快照文件信息 在该快照文件中,提取 Manifest File清单文件信息:
读取最新数据 分析 Snap 文件
判断数据文件状态 如果该值大于 0,表示对应的 Manifest 文件中有已删除的数据。读取数据时,无需读取这些被删除的文件。 Manifest 清单文件分析 1:代表对应的 Parquet 文件为新增文件,需要读取。 2:代表 Parquet 文件被删除。 2.查询指定快照(历史快照)数据 Apache Iceberg 支持查询历史上任何时刻的快照。 要查询特定快照,需要指定 snapshot-id 属性,可以通过 Spark 或 Flink 实现。 在 Spark 中查询指定快照的数据:
查询某个快照数据的原理: 指定快照 ID 查找快照信息 3.根据时间戳查询某个快照数据Apache Iceberg 支持通过 as-of-timestamp 参数读取特定时间戳的快照数据,通常也是通过 Spark 或 Flink 实现。 在 Spark 中根据时间戳查询数据:
指定时间戳 查找快照信息 属性解析 |
2024-04-02
2024-02-26
2023-01-24
2024-09-30
2022-08-15