프로젝트 소개

Apache Iceberg는 대규모 분석 테이블을 위해 설계된 고성능 테이블 포맷입니다. 이를 통해 Apache Spark, Trino, Apache Flink, Presto, Apache Hive, Impala를 포함한 여러 처리 엔진이 동일한 테이블에서 안전하고 동시에 작업할 수 있습니다. 이 프로젝트는 안정적인 포맷 사양과 Java로 작성된 참조 구현을 제공합니다. Java 라이브러리는 다음과 같은 여러 모듈로 구성되어 있습니다: - Core API 및 구현: `iceberg-api`와 `iceberg-core`는 Avro 데이터 파일 지원을 포함한 공개 API와 핵심 로직을 제공합니다. - 파일 포맷 지원: 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++ 구현이 포함되어 있습니다.