Ir al contenido principal

Presentamos Delta Time Travel para lagos de datos a gran escala

Introducing Delta Time Travel for Large Scale Data Lakes

Publicado: 4 de febrero de 2019

Anuncios7 min de lectura

Obtenga una vista previa del nuevo libro electrónico de O'Reilly para obtener la guía paso a paso que necesita para comenzar a usar Delta Lake.


Control de versiones de datos para reproducir experimentos, revertir y auditar datos

Nos complace presentar las capacidades de viaje en el tiempo en Databricks Delta Lake, el motor de análisis unificado de última generación construido sobre Apache Spark, para todos nuestros usuarios. Con esta nueva función, Delta versiona automáticamente los macrodatos que almacena en su lago de datos, y puede acceder a cualquier versión histórica de esos datos. Esta administración de datos temporales simplifica su canalización de datos al facilitar la auditoría, la reversión de datos en caso de escrituras o eliminaciones incorrectas accidentales y la reproducción de experimentos e informes. Su organización finalmente puede estandarizar un repositorio de macrodatos limpio, centralizado y con control de versiones en su propio almacenamiento en la nube para sus análisis.

Desafíos comunes con el cambio de datos

  • Auditar los cambios de datos: la auditoría de los cambios de datos es fundamental tanto en términos de cumplimiento de los datos como de depuración simple para comprender cómo han cambiado los datos con el tiempo. Las organizaciones que se trasladan de los sistemas de datos tradicionales a las tecnologías de macrodatos y la nube tienen dificultades en tales escenarios.
  • Reproducir experimentos e informes: durante el entrenamiento del modelo, los científicos de datos ejecutan varios experimentos con diferentes parámetros en un conjunto de datos determinado. Cuando los científicos revisan sus experimentos después de un período de tiempo para reproducir los modelos, normalmente los pipelines ascendentes han modificado los datos de origen. Muchas veces, los cambios de datos ascendentes los pillan desprevenidos y, por lo tanto, tienen dificultades para reproducir sus experimentos. Algunos científicos y organizaciones diseñan las mejores prácticas mediante la creación de varias copias de los datos, lo que genera mayores costos de almacenamiento. Lo mismo ocurre con los analistas que generan informes.
  • Rollbacks: las canalizaciones de datos a veces pueden escribir datos incorrectos para los consumidores posteriores. Esto puede suceder debido a problemas que van desde inestabilidades de la infraestructura hasta datos desordenados y errores en la canalización. Para las canalizaciones que realizan simples anexos a directorios o a una tabla, los rollbacks se pueden abordar fácilmente mediante la creación de particiones basadas en la fecha. Con las actualizaciones y eliminaciones, esto puede volverse muy complicado, y los ingenieros de datos normalmente tienen que diseñar una canalización compleja para hacer frente a tales escenarios.

Introducción al viaje en el tiempo

Las capacidades de viaje en el tiempo de Delta simplifican la creación de canalizaciones de datos para los casos de uso anteriores. A medida que escribe en una tabla o directorio de Delta, cada operación se versiona automáticamente. Puede acceder a las diferentes versiones de los datos de dos maneras diferentes:

1. Usando una marca de tiempo

Sintaxis de Scala:

Puede proporcionar la marca de tiempo o la cadena de fecha como una opción para el lector de DataFrame:

En Python:

Sintaxis SQL:

Si el código del lector está en una biblioteca a la que no tiene acceso, y si está pasando parámetros de entrada a la biblioteca para leer datos, aún puede retroceder en el tiempo para una tabla pasando la marca de tiempo en formato yyyyMMddHHmmssSSS a la ruta:

2. Usando un número de versión
En Delta, cada escritura tiene un número de versión, y puede usar el número de versión para retroceder en el tiempo también.

Sintaxis de Scala:

Sintaxis de Python:

LÍDER 5X

Gartner®: Databricks, líder en bases de datos en la nube

Sintaxis SQL:

Auditar los cambios de datos

Puede consultar el historial de cambios de la tabla mediante el comando DESCRIBE HISTORY o a través de la interfaz de usuario.

Reproducir experimentos e informes

El viaje en el tiempo también juega un papel importante en el aprendizaje automático y la ciencia de datos. La reproducibilidad de los modelos y experimentos es una consideración clave para los científicos de datos, porque a menudo crean cientos de modelos antes de poner uno en producción, y en ese proceso que requiere mucho tiempo les gustaría volver a los modelos anteriores. Sin embargo, debido a que la administración de datos a menudo está separada de las herramientas de ciencia de datos, esto es realmente difícil de lograr.

Databricks resuelve este problema de reproducibilidad integrando las capacidades de viaje en el tiempo de Delta con MLflow, una plataforma de código abierto para el ciclo de vida del aprendizaje automático. Para el entrenamiento de aprendizaje automático reproducible, simplemente puede registrar una URL con marca de tiempo en la ruta como un parámetro de MLflow para rastrear qué versión de los datos se usó para cada trabajo de entrenamiento. Esto le permite volver a configuraciones y conjuntos de datos anteriores para reproducir modelos anteriores. No necesita coordinarse con los equipos ascendentes en los datos ni preocuparse por la clonación de datos para diferentes experimentos. Este es el poder de Unified Analytics, por el cual la ciencia de datos está estrechamente ligada a la ingeniería de datos.

Rollbacks

El viaje en el tiempo también facilita la realización de rollbacks en caso de escrituras incorrectas. Por ejemplo, si su trabajo de canalización GDPR tenía un error que eliminó accidentalmente la información del usuario, puede corregir fácilmente la canalización:

También puede corregir actualizaciones incorrectas de la siguiente manera:

Vista anclada de una tabla Delta que se actualiza continuamente en varios trabajos posteriores

Con las consultas AS OF, ahora puede anclar la instantánea de una tabla Delta que se actualiza continuamente para varios trabajos posteriores. Considere una situación en la que una tabla Delta se actualiza continuamente, digamos cada 15 segundos, y hay un trabajo posterior que lee periódicamente de esta tabla Delta y actualiza diferentes destinos. En tales escenarios, normalmente desea una vista coherente de la tabla Delta de origen para que todas las tablas de destino reflejen el mismo estado. Ahora puede manejar fácilmente tales escenarios de la siguiente manera:

Consultas para el análisis de series temporales simplificadas

El viaje en el tiempo también simplifica el análisis de series temporales. Por ejemplo, si desea averiguar cuántos clientes nuevos agregó durante la última semana, su consulta podría ser muy simple como esta:

Conclusión

El viaje en el tiempo en Delta mejora enormemente la productividad del desarrollador. Ayuda a:

  • Los científicos de datos administran mejor sus experimentos
  • Los ingenieros de datos simplifican sus canalizaciones y revierten las escrituras incorrectas
  • Los analistas de datos hacen informes fáciles

Las organizaciones finalmente pueden estandarizar un repositorio de macrodatos limpio, centralizado y con control de versiones en su propio almacenamiento en la nube para el análisis. Estamos encantados de ver lo que podrá lograr con esta nueva función.

La función está disponible como vista previa pública para todos los usuarios. Obtenga más información sobre la función. Para verlo en acción, regístrese para una prueba gratuita de Databricks.

¿Está interesado en el código abierto Delta Lake?
Visite el centro en línea de Delta Lake para obtener más información, descargar el código más reciente y unirse a la comunidad de Delta Lake.

(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original

No te pierdas ninguna publicación de Databricks.

Suscríbete a nuestro blog y recibe las últimas publicaciones en tu bandeja de entrada.