¿Qué es Delta Lake?

Delta Lake es una capa de almacenamiento de código abierto que aporta confiabilidad a los lagos de datos. Delta Lake proporciona transacciones ACID, control escalable de metadatos y unifica el procesamiento de datos de streaming y por lotes. Delta Lake se ejecuta sobre su lago de datos existente y es totalmente compatible con las API de Apache Spark. Delta Lake en Azure Databricks permite configurar el lago Delta en función de los patrones de las cargas de trabajo.

Azure Databricks agrega diseños e índices optimizados a Delta Lake para consultas interactivas rápidas.

En esta guía se proporciona información general introductoria, inicios rápidos e instrucciones para usar Delta Lake en Azure Databricks.

En concreto, Delta Lake ofrece:

  • Transacciones ACID en Spark: los niveles de aislamiento serializables garantizan que los lectores nunca vean datos incoherentes.
  • Control escalable de metadatos: aprovecha la potencia de procesamiento distribuido de Spark para manejar con facilidad todos los metadatos de tablas a escala de petabytes con miles de millones de archivos.
  • Unificación de streaming y lotes: una tabla en Delta Lake es una tabla de lotes, así como un origen y un receptor de streaming. La ingesta de datos de streaming, la reposición histórica de lotes y las consultas interactivas funcionan de manera integral.
  • Cumplimiento del esquema: controla automáticamente las variaciones de esquema para evitar la inserción de registros incorrectos durante la ingesta.
  • Viaje en el tiempo: el control de versiones de datos permite reversiones, seguimientos de auditoría históricos completos y experimentos reproducibles de aprendizaje automático.
  • Upserts y eliminaciones: admite operaciones de combinación, actualización y eliminación para habilitar casos de uso complejos como captura de datos modificados, operaciones de dimensión de variación lenta, upserts de streaming, etc.

Muchas optimizaciones de Databricks Runtime requieren Delta Lake. Las operaciones de Delta Lake tienen un rendimiento elevado y admiten varias cargas de trabajo, que van desde el procesamiento de extracción, transformación y carga de datos a gran escala hasta consultas ad hoc interactivas. Para obtener más información sobre las optimizaciones en Azure Databricks, consulte Optimizaciones y recomendaciones de rendimiento en Azure Databricks.

Tareas clave

En la lista siguiente se proporcionan vínculos a la documentación de las tareas comunes de Delta Lake.

API de Delta Lake

Para la mayoría de las operaciones de lectura y escritura en tablas Delta, puede usar las API de Spark SQL o DataFrame de Apache Spark.

Para las instrucciones SQL específicas de Delta Lake, consulte Instrucciones de Delta Lake.

Azure Databricks garantiza la compatibilidad binaria con las API de Delta Lake en Databricks Runtime. Para ver la versión de la API de Delta Lake empaquetada en cada versión de Databricks Runtime, consulte la matriz de compatibilidad de la API de Delta Lake. Existen API de Delta Lake para Python, Scala y Java:

Recursos