Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Data Lakehouse con Apache Hudi

Data Lakehouse con Apache Hudi

En esta sesión explico como partir primero de una estrategia de datos, bien definida con los stakeholders, detectar los casos de uso de más impacto en la organización y realizar las priorizaciones, para aterrizarlo con una solución de datos que tenga los sponsor que apoyen la iniciativa.

Siempre iniciemos con el problema o necesidad (objetivos estratégicos, OKR) de la organización antes de definir cualquier arquitectura tecnológica.
Apache Hudi que fue creado por Uber en el 2016, nos permite realizar transaccionalidad (ACID), viajes en el tiempo, evolución de esquemas, consultas en tiempo real, etc; a nuestros Data Lakes (S3, Cloud Storage, ADLS Gen2, HDFS).

Si eres ingeniero de datos y te has topado con los problemas de hacer recargas diarias a tu Data Lake por cada fuente de datos, incluso solo por la modificación de una fila en tu input (BD Transaccional, File), esta charla te resultará interesante, el equipo de ingeniería de Uber lo resolvió hace pocos años para todos y es open source, gracias a Vinoth Chandar y todo su super equipo por esta iniciativa que ahora es un proyecto top en Apache.

En la demo explicó su funcionamiento.

Link de la sesión : https://www.twitch.tv/awsugperu/video/1065234210

Gracias por leer hasta aquí. Si esta publicación te resultó útil, te agradecería mucho que la recomendaras para que otros también puedan encontrarla.

Linkedin : https://www.linkedin.com/in/luisgrados
GitHub : https://github.com/luisgradossalinas
Medium : https://medium.com/@luisgradossalinas
Speakerdeck : https://speakerdeck.com/luisgrados

#aws #datalakehouse #emr #athena #hudi #uber

More Decks by Luis Martin Grados Salinas

Other Decks in Technology

Transcript

  1. Agenda • Estrategia de datos • Desafíos de un Data

    Warehouse • Desafíos de un Data Lake • ¿Qué es un Data Lakehouse? • Apache Hudi • Demo
  2. Estrategia de datos Una estrategia de datos es adecuada para

    hacer las acciones correctas y convertir los datos en insights accionables para la empresa u organización. Una estrategia de datos sólida debe ser accionable para una empresa y debe evolucionar de tal forma que sea capaz de concentrar fuerzas disruptivas para su sector. Elementos claves que debemos tener siempre presentes son: las personas, los procesos, la tecnología y, por supuesto, los datos.
  3. Fases de una estrategia de datos Organizar y descubrir Evaluación

    de los activos digitales Análisis, priorización y roadmap Gestión del cambio
  4. Desafíos en un Data Warehouse No soporta videos, audios, archivos

    parquet No soporta tareas de Data Science y ML No soporta ingesta streaming Formato propietario / No open
  5. Desafíos en un Data Lake Soporte pobre para Business Inteligence

    Pántanos de datos No soporta operaciones ACID Ingesta streaming
  6. Data Lakehouse Un data lakehouse es un nuevo paradigma abierto

    de gestión de datos que combina las capacidades más populares de los data lakes y los data warehouses. Implementan estructuras de datos y funciones de gestión de datos similares a las de un data warehouse, directamente en el tipo de almacenamiento de bajo costo utilizado por los data lake. Los data lakehouses también garantizan que los equipos tengan los datos más completos y actualizados disponibles para proyectos de ciencia de datos, aprendizaje automático y análisis de negocios.
  7. Características de un Data Lakehouse • Soporte de transacciones para

    garantizar que varios usuarios puedan leer o escribir datos al mismo tiempo. • El almacenamiento está desacoplado del cómputo. • Formato abierto de archivos (Parquet) • Ingesta de datos streaming. • Mecanismos de control y audición para asegurarse de que pueda ver cómo se utilizan los datos • Soporte para todos los tipos de datos: estructurados, no estructurados, semiestructurados • Soporte de BI para que las herramientas de BI puedan trabajar directamente en los datos de origen; esto reduce la obsolescencia de los datos. • Soporte para diversas cargas de trabajo, incluida la ingeniería de datos, la ciencia de datos, el aprendizaje automático y el análisis de SQL, todo en el mismo repositorio de datos.
  8. Apache Hudi Es un framework de gestión de datos de

    código abierto que se utiliza para simplificar el procesamiento de datos incrementales, proporciona capacidades de inserción, actualización y eliminación a nivel de registro en archivos parquet. Hudi está integrado con Apache Spark, Apache Hive y Presto. Con la versión 5.28.0 de Amazon EMR y posterior, Amazon EMR instala los componentes de Hudi de forma predeterminada cuando Spark, Hive o Presto están instalados. Puede usar Spark o la utilidad Hudi DeltaStreamer para crear o actualizar conjuntos de datos de Hudi. En 2019, el equipo de Amazon EMR comenzó a trabajar en estrecha colaboración con la comunidad de Apache Hudi para contribuir con parches y correcciones de errores.
  9. Casos de uso : Apache Hudi • Trabajo con datos

    transmitidos en streaming desde sensores y otros dispositivos del Internet de las cosas (IoT) que requieren eventos específicos de inserción y actualización de datos. • Implementación de un sistema de captura de datos de cambio (CDC) que permita aplicar cambios a un dataset a lo largo del tiempo. • Eliminación de registros de acuerdo a regulaciones de privacidad de datos.
  10. Tipos de tablas en Apache Hudi Los tipos de tablas

    de Hudi definen cómo se indexan y distribuyen los datos en el servicio de almacenamiento (S3, Cloud Storage, ADLS o HDFS). 1. COPY ON WRITE (COW) Los datos se almacenan en un formato de columnas (Parquet) y cada actualización crea una nueva versión de los archivos durante una escritura. 2. MERGE ON READ (MOR) Los datos se almacenan utilizando una combinación de formatos columnar (Parquet) y filas (Avro). Las actualizaciones se registran en archivos delta basados en filas y se compactan según sea necesario para crear nuevas versiones de los archivos en columnas.