Sobre el proyecto
Apache Iceberg es un formato de tabla de alto rendimiento diseñado para tablas analíticas a gran escala. Permite que múltiples motores de procesamiento —incluyendo Apache Spark, Trino, Apache Flink, Presto, Apache Hive e Impala— trabajen de forma segura y concurrente con las mismas tablas.
El proyecto proporciona una especificación de formato estable y una implementación de referencia en Java. La biblioteca de Java está organizada en varios módulos:
- API Core e Implementación: `iceberg-api` e `iceberg-core` proporcionan la API pública y la lógica central, incluyendo el soporte para archivos de datos Avro.
- Soporte de Formatos de Archivo: Módulos opcionales para Parquet (`iceberg-parquet`), ORC (`iceberg-orc`) y Arrow (`iceberg-arrow`).
- Módulos de Integración: Implementaciones específicas para Spark (`iceberg-spark`), Flink (`iceberg-flink`) y Hive (`iceberg-mr`), así como una implementación de Hive metastore (`iceberg-hive-metastore`).
- Soporte de Aplicaciones: `iceberg-data` permite que las aplicaciones JVM trabajen con las tablas directamente.
Más allá de la implementación en Java, el ecosistema de Iceberg incluye implementaciones en Go, Python (PyIceberg), Rust y C++.