APACHE HUDI: QUÉ ES Y CÓMO FUNCIONA
Apache Hudi es una plataforma open source de data lakehouse que transforma los tradicionales data lakes en sistemas mucho más potentes y similares a una base de datos. En palabras simples:Es un formato de tabla transaccional de alto rendimiento que se construye encima de almacenamiento barato (como S3, ADLS, GCS, HDFS) y añade capacidades que antes solo tenían las bases de datos o data warehouses, pero manteniendo la escalabilidad y bajo costo de un data lake.
¿Qué problemas resuelve principalmente?
Los data lakes clásicos (solo Parquet/Avro/ORC en buckets) son muy buenos para almacenar petabytes baratos, pero muy malos para:- Actualizar o borrar registros (upserts y deletes) de forma eficiente.
- Procesar datos de forma incremental (solo lo nuevo/cambiado).
- Garantizar transacciones ACID.
- Hacer streaming near-real-time + batch en la misma tabla.
- Time travel (ver cómo estaba la tabla en el pasado).
- Índices para acelerar consultas.
Características clave de Apache Hudi
- Soporte nativo para upserts, deletes y merges muy eficientes
- Dos modos de almacenamiento:
- Copy-on-Write (CoW) → óptimo para lecturas frecuentes (como un data warehouse).
- Merge-on-Read (MoR) → óptimo para escrituras frecuentes y datos near-real-time Incremental processing muy potente (ideal para CDC, streaming, pipelines que solo procesan deltas).
- ACID transactions completas.
- Time travel y versionado de tablas.
- Índices (Bloom, columnar, record-level) para acelerar queries.
- Integración excelente con Spark, Flink, Presto/Trino, Hive, Doris, Athena, DuckDB, etc.
- Soporte para streaming ingestion de alto rendimiento (Kafka, Flink, Spark Streaming).
- Compaction, clustering, cleaning automáticos para mantener rendimiento.
- Está evolucionando fuertemente hacia cargas AI/ML: vectores, embeddings, soporte para formatos como Lance, búsqueda vectorial nativa, datos no estructurados, etc.
¿Quién lo creó y quién lo usa?
- Creado originalmente por Uber (~2016) para manejar sus enormes flujos de datos cambiantes.
- Donado a Apache en 2019.
- Empresas grandes que lo usan en producción masiva: Uber, Walmart, JD.com, ByteDance, AWS (EMR/ Athena), Google Cloud, muchos bancos y fintechs, etc.