Repolode
apache

apache/iceberg

Высокопроизводительный открытый табличный формат для больших аналитических наборов данных, позволяющий Spark, Trino, Flink и Hive безопасно работать с одними и теми же таблицами.

Звёзды
9,412
Форки
3,665
Открытые issues
909
Последний коммит
вчера

Что это?

Apache Iceberg — табличный формат для больших аналитических наборов данных. Он обеспечивает озёрам данных надёжность и простоту SQL-таблиц, позволяя нескольким движкам обработки одновременно работать с одними и теми же таблицами без риска повредить данные.

В этом репозитории находится основная Java-библиотека — эталонная реализация спецификации Iceberg. Она разделена на модули: публичный API, базовая реализация с поддержкой Avro, дополнительные модули для Parquet, ORC и Arrow, каталог на основе Hive metastore, а также модуль для чтения и записи таблиц напрямую из приложений на JVM. Здесь также есть интеграции с движками Spark, Flink и Hive.

Реализации на других языках поддерживаются в отдельных репозиториях, в том числе для Go, Python (PyIceberg), Rust и C++. Проект собирается с помощью Gradle и работает на Java 17 или 21.

Ключевые возможности

  • 01Обеспечивает таблицам в озере данных надёжность, сравнимую с SQL-таблицами.
  • 02Позволяет нескольким движкам, например Spark, Flink и Hive, одновременно работать с одними и теми же таблицами.
  • 03Поддерживает файлы данных в форматах Avro, Parquet и ORC с помощью дополнительных модулей.
  • 04Включает реализацию таблиц на основе Hive metastore.
  • 05Предоставляет Java API для чтения и записи таблиц из приложений на JVM.

Сценарии использования

  • Создание озера данных, в котором Spark и Trino запрашивают одни и те же аналитические таблицы.
  • Потоковая запись данных в аналитические таблицы с помощью Flink, пока пакетные задания читают их.
  • Добавление надёжности на уровне таблиц к наборам данных Parquet или ORC в стеке на базе Hive.

Быстрый старт

  1. 1

    Клонируйте репозиторий

  2. 2

    Соберите проект и запустите тесты с помощью Gradle (требуется Java 17 или 21)

    ./gradlew build

Что важно знать

  • Для сборки и запуска тестов требуются Java 17 или 21 и Docker для набора тестов.
  • В этом репозитории находится библиотека Java; это не автономная база данных и не приложение для конечных пользователей.

Темы

Частые вопросы

Что такое iceberg?
Высокопроизводительный открытый табличный формат для больших аналитических наборов данных, позволяющий Spark, Trino, Flink и Hive безопасно работать с одними и теми же таблицами. Apache Iceberg — табличный формат для больших аналитических наборов данных. Он обеспечивает озёрам данных надёжность и простоту SQL-таблиц, позволяя нескольким движкам обработки одновременно работать с одними и теми же таблицами без риска повредить данные.
iceberg можно использовать бесплатно? Какая у него лицензия?
iceberg распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
iceberg всё ещё поддерживается?
Активно поддерживается. Последний коммит в iceberg — 6 нояб. 2026 г..
Для чего можно использовать iceberg?
Создание озера данных, в котором Spark и Trino запрашивают одни и те же аналитические таблицы. Потоковая запись данных в аналитические таблицы с помощью Flink, пока пакетные задания читают их. Добавление надёжности на уровне таблиц к наборам данных Parquet или ORC в стеке на базе Hive.
Как установить iceberg?
Клонируйте репозиторий Соберите проект и запустите тесты с помощью Gradle (требуется Java 17 или 21): ./gradlew build
Где скачать iceberg?
Исходный код и инструкции по установке — на GitHub: https://github.com/apache/iceberg

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Вычислительное ПО промежуточного слоя, связывающее приложения с такими движками обработки данных, как Spark, Hive и Flink, через REST/WS/JDBC-интерфейсы.

3,4 тыс.+1 за неделю1,2 тыс.JavaApache-2.0Обновлён 3 дня назад