Apache Spark Delta Lake

En este artículo hablaré de Delta Lake, entender como funciona usando “Google Colab” como interface de prueba.

Jonathan Quiza
Ciencia y Datos
4 min readApr 29, 2019

--

Delta Lake

Maneja los datos procesados ​​con Spark para hacerlos transaccionales y los coloca en el formato de parquet común.

fuente(https://bit.ly/2ZtkTI1)

Delta Lake, aplica una capa de transacción ACID que se vincula a las tuberías de datos de Spark para garantizar que las actualizaciones de datos que llegan por flujo y no se tropiecen entre sí, lo que resulta una ayuda a duplicidad.

Tener soporte transaccional significa que los ingenieros o desarrolladores de datos no tendrán que construir una capa separada para garantizar actualizaciones consistentes.

Eso tiene un gran impacto dado el hecho de que los lagos de datos suelen tener múltiples canales de datos que leen y escriben datos simultáneamente.

Las bases de datos desarrollaron el soporte de transacciones para que los datos se borran Hasta ahora, los lagos de datos carecían de tales mecanismos, lo que obligaba a los ingenieros o desarrolladores de datos a escribir su propia lógica de transacción. En la mayoría de los casos, no hacer nada fue la opción predeterminada, dada la alternativa de un desarrollo personalizado laborioso y difícil de mantener.

¿Qué es Google Colab?

Colaboratory es un entorno gratuito de Jupyter Notebook que no requiere configuración y que se ejecuta completamente en la nube.

SPARK TRADICIONAL

Sesión Spark

Leer csv

Observar

Agregar una columna date aleatoria

Leer csv

Guardamos en parquet

Visualizamos carpeta

DELTA LAKE

Sesión Spark delta

leer folder parquet en format delta

Observar

Actualizar archivo y hacemos una pequeña partición

Observamos nueva carpeta

visualizar 00000000001.json(version /partición)

CONCLUSIÓN

Espero les haya gustado este artículo de como usar deltaLake para las versionamiento de nuestros datos

Esto ayuda cuando deseamos versionar o cuando estamos en un grupo de trabajo cuando todos estamos trabajando sobre el mismo archivo un ACID que ayuda bastante.

Características aún no disponibles:

Delta Lake no admite transacciones de tablas múltiples
Delta no es compatible con la API DStream.

REFERENCIAS

  1. https://delta.io/

linkedin:

Gracias

--

--

Jonathan Quiza
Ciencia y Datos

Lead ML Engineer / Data science / Machine Learning / MLops