Sobre el proyecto
Apache Hudi (Hadoop Upserts Deletes and Incrementals) es una plataforma de data lakehouse de código abierto construida en torno a un formato de tabla abierto de alto rendimiento. Permite a las organizaciones ingerir, indexar, almacenar, servir, transformar y gestionar datos en múltiples entornos de datos en la nube, manteniendo los datos en formatos abiertos sobre almacenamiento en la nube.
Las capacidades clave incluyen:
**Ingesta**: Herramientas integradas para usuarios de Apache Spark y Apache Flink, con soporte para media docena de formatos de archivo, registros de cambios de bases de datos y sistemas de datos en streaming. Incluye un conector sink de Kafka Connect para incorporar fuentes de datos externas.
**Almacenamiento**: Formato de almacenamiento optimizado que admite datos tanto por filas como por columnas. Incluye metadatos de línea de tiempo para rastrear el historial de cambios, gestión automática del tamaño y la disposición de los archivos mediante estadísticas, savepoints para el versionado y la recuperación de datos, y seguimiento del esquema con evolución.
**Indexación**: Subsistema de indexación escalable que acelera las consultas de instantáneas y se mantiene automáticamente mediante las escrituras. Realiza un seguimiento de los listados de archivos y de las estadísticas a nivel de columna y de partición para una planificación eficiente de las consultas. Proporciona indexación a nivel de registro mediante formatos de archivo orientados a filas y filtros Bloom, además de particionamiento lógico mediante índices de expresión desacoplados del particionamiento físico del almacenamiento.
**Escritura**: Commits atómicos con soporte de rollback y restauración. Operaciones rápidas de upsert y eliminación que aprovechan los índices a nivel de registro. Aislamiento de instantáneas entre escritores y consultas. Ofrece tanto control de concurrencia optimista (Read-Modify-Write para el modelo de datos relacional) como control de concurrencia no bloqueante (modelo de datos en streaming con manejo de datos fuera de orden o tardíos).
**Consultas**: Múltiples tipos de consulta sobre una misma tabla: Snapshot Query (último estado confirmado), Incremental Query (cambios desde un punto en el tiempo), Change-Data-Capture Query (flujo de cambios con imágenes antes y después), Time-Travel Query (tabla tal como estaba en un momento dado) y Read Optimized Query (rendimiento de almacenamiento columnar mediante compactación).
**Gestión de tablas**: Servicios de tabla automáticos y sin intervención manual, integrados en los escritores de Spark o Flink, u operados de forma independiente. Programación configurable con manejo de fallos. Limpieza y gestión de TTL para la recuperación de almacenamiento. Algoritmos de clustering y curvas de llenado de espacio para optimizar la disposición de los datos. Compactación asíncrona de datos orientados a filas hacia formatos columnares. Construcción consistente de índices durante operaciones en curso. Sincronización de catálogos con Hive Metastore, AWS Glue, Google BigQuery, Apache XTable y más.
Hudi admite la compilación con múltiples versiones de Spark (de la 3.3 a la 4.2) y de Flink (de la 1.18 a la 2.2), con opciones de Scala 2.12 y 2.13. El proyecto utiliza Maven para las compilaciones y proporciona perfiles de prueba completos (unitarias, funcionales, de integración).
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.