Notebook web para análisis interactivo de datos que combina SQL, Scala, Python y otros intérpretes en documentos compartidos.
apache/iceberg
Un formato de tablas abiertas de alto rendimiento para grandes conjuntos de datos analíticos, que permite a motores como Spark, Trino, Flink y Hive compartir tablas de forma segura.
- Estrellas
- 9,412
- Forks
- 3,665
- Issues abiertos
- 909
- Último commit
- ayer
¿Qué es?
Apache Iceberg es un formato de tablas para grandes conjuntos de datos analíticos. Aporta a los data lakes la fiabilidad y la simplicidad de las tablas SQL, para que varios motores de procesamiento puedan trabajar con las mismas tablas al mismo tiempo sin dañarlas.
Este repositorio contiene la biblioteca Java principal, que sirve como implementación de referencia de la especificación de Iceberg. Está dividida en módulos: una API pública, una implementación principal con soporte para Avro, módulos opcionales para Parquet, ORC y Arrow, un catálogo respaldado por Hive metastore y un módulo de datos para leer y escribir tablas directamente desde aplicaciones JVM. También incluye integraciones con los motores Spark, Flink y Hive.
Las implementaciones en otros lenguajes se mantienen en repositorios separados; entre ellas se incluyen Go, Python (PyIceberg), Rust y C++. El proyecto se compila con Gradle y Java 17 o 21.
Funciones clave
- 01Ofrece a las tablas de los data lakes una fiabilidad similar a la de las tablas SQL.
- 02Permite que varios motores, como Spark, Flink y Hive, trabajen en las mismas tablas de forma concurrente.
- 03Admite archivos de datos Avro, Parquet y ORC mediante módulos opcionales.
- 04Incluye una implementación de tablas respaldada por Hive metastore.
- 05Ofrece una API Java para leer y escribir tablas desde aplicaciones JVM.
Casos de uso
- Crear un data lake en el que Spark y Trino consulten las mismas tablas analíticas.
- Transmitir datos a tablas analíticas con Flink mientras los trabajos por lotes las leen.
- Añadir fiabilidad a nivel de tabla a conjuntos de datos Parquet u ORC en una arquitectura basada en Hive.
Inicio rápido
- 1
Clona el repositorio
- 2
Compila el proyecto y ejecuta las pruebas con Gradle (requiere Java 17 o 21)
./gradlew build
Antes de usarlo
- Para compilar y ejecutar las pruebas se necesitan Java 17 o 21 y Docker para la suite de pruebas.
- Este repositorio contiene la biblioteca Java; no es una base de datos independiente ni una aplicación para usuarios finales.
Temas
Preguntas frecuentes
- ¿Qué es iceberg?
- Un formato de tablas abiertas de alto rendimiento para grandes conjuntos de datos analíticos, que permite a motores como Spark, Trino, Flink y Hive compartir tablas de forma segura. Apache Iceberg es un formato de tablas para grandes conjuntos de datos analíticos. Aporta a los data lakes la fiabilidad y la simplicidad de las tablas SQL, para que varios motores de procesamiento puedan trabajar con las mismas tablas al mismo tiempo sin dañarlas.
- ¿iceberg es gratuito? ¿Qué licencia tiene?
- iceberg es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿iceberg sigue mantenido?
- Mantenimiento activo. El último commit de iceberg fue el 6 nov 2026.
- ¿Para qué puedo usar iceberg?
- Crear un data lake en el que Spark y Trino consulten las mismas tablas analíticas. Transmitir datos a tablas analíticas con Flink mientras los trabajos por lotes las leen. Añadir fiabilidad a nivel de tabla a conjuntos de datos Parquet u ORC en una arquitectura basada en Hive.
- ¿Cómo se instala iceberg?
- Clona el repositorio Compila el proyecto y ejecuta las pruebas con Gradle (requiere Java 17 o 21): ./gradlew build
- ¿Dónde consigo iceberg?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/apache/iceberg
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Framework de desarrollo de aplicaciones de streaming y plano de control cloud-native para ejecutar y gestionar trabajos de Apache Flink y Spark.
Middleware de cómputo que conecta aplicaciones con motores de datos como Spark, Hive y Flink mediante interfaces REST/WS/JDBC.
Trino es un motor de consultas SQL distribuido para ejecutar consultas analíticas rápidas sobre grandes fuentes de datos.
Motor de consultas MPP de código abierto para análisis en menos de un segundo en lakehouses de datos y en su propio almacenamiento, compatible con el protocolo MySQL.
Ejemplos de código, tutoriales y utilidades para crear trabajos ETL y pipelines de integración de datos con AWS Glue.