Об этом проекте
Apache Iceberg — это высокопроизводительный формат таблиц, разработанный для крупномасштабных аналитических таблиц. Он позволяет нескольким вычислительным движкам, включая Apache Spark, Trino, Apache Flink, Presto, Apache Hive и Impala, безопасно и одновременно работать с одними и теми же таблицами.
Проект предоставляет стабильную спецификацию формата и эталонную реализацию на Java. Java-библиотека разделена на несколько модулей:
- Core 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++.