这个项目能做什么
Apache Iceberg 是一种专为大规模分析表设计的高性能表格式。它允许包括 Apache Spark、Trino、Apache Flink、Presto、Apache Hive 和 Impala 在内的多种处理引擎安全且并发地操作同一张表。
该项目提供了一个稳定的格式规范以及一个 Java 参考实现。该 Java 库分为几个模块:
- 核心 API 和实现:`iceberg-api` 和 `iceberg-core` 提供公共 API 和核心逻辑,包括对 Avro 数据文件的支持。
- 文件格式支持:针对 Parquet (`iceberg-parquet`)、ORC (`iceberg-orc`) 和 Arrow (`iceberg-arrow`) 的可选模块。
- 集成模块:针对 Spark (`iceberg-spark`)、Flink (`iceberg-flink`) 和 Hive (`iceberg-mr`) 的具体实现,以及一个 Hive metastore 实现 (`iceberg-hive-metastore`)。
- 应用支持:`iceberg-data` 允许 JVM 应用程序直接操作表。
除了 Java 实现外,Iceberg 生态系统还包括 Go、Python (PyIceberg)、Rust 和 C++ 的实现。