Apache Spark Delta Lake
En este artículo hablaré de Delta Lake, entender como funciona usando “Google Colab” como interface de prueba.
Delta Lake
Maneja los datos procesados con Spark para hacerlos transaccionales y los coloca en el formato de parquet común.
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
linkedin: