¿Qué es Delta Lake?

Delta Lake es la capa de almacenamiento optimizada que proporciona la base para las tablas de en un almacén de lago en Databricks. Delta Lake es un software de código abierto que extiende archivos de datos Parquet con un registro de transacciones basado en archivos para transacciones ACID y control de metadatos escalables. Delta Lake es totalmente compatible con las API de Apache Spark y se desarrolló para una estrecha integración con Structured Streaming, lo que le permite usar fácilmente una sola copia de datos para las operaciones por lotes y de streaming y proporcionar procesamiento incremental a escala.

Delta Lake es el formato de almacenamiento predeterminado para todas las operaciones en Azure Databricks. A menos que se especifique lo contrario, todas las tablas de Azure Databricks son tablas Delta. Databricks desarrolló originalmente el protocolo Delta Lake y continúa contribuyendo activamente al proyecto de código abierto. Muchas de las optimizaciones y productos de la plataforma de Databricks se basan en las garantías proporcionadas por Apache Spark y Delta Lake. Para obtener más información sobre las optimizaciones en Azure Databricks, consulte Recomendaciones de optimización en Azure Databricks.

Para obtener información de referencia sobre los comandos SQL de Delta Lake, consulte Instrucciones de Delta Lake.

El registro de transacciones de Delta Lake tiene un protocolo abierto bien definido que cualquier sistema puede usar para leer el registro. Consulte Protocolo del registro de transacciones delta.

Introducción a Delta Lake

Todas las tablas de Azure Databricks son tablas Delta de manera predeterminada. Tanto si usa DataFrames de Apache Spark o SQL, obtendrá todas las ventajas de Delta Lake simplemente guardando los datos en Lakehouse con la configuración predeterminada.

Para obtener ejemplos de operaciones básicas de Delta Lake, como crear tablas, leer, escribir y actualizar datos, consulte Tutorial: Delta Lake.

Databricks tiene muchas recomendaciones para los procedimientos recomendados para Delta Lake.

Conversión e ingesta de datos en Delta Lake

Azure Databricks proporciona una serie de productos para acelerar y simplificar la carga de datos en la instancia de LakeHouse.

Para obtener una lista completa de las opciones de ingesta, consulte Carga de datos en un lago de datos de Databricks.

Actualización y modificación de tablas de Delta Lake

Las transacciones atómicas con Delta Lake proporcionan muchas opciones para actualizar datos y metadatos. Databricks recomienda evitar interactuar directamente con los archivos de registro de transacciones y datos en directorios de archivos de Delta Lake para evitar daños en las tablas.

Cargas de trabajo incrementales y de streaming en Delta Lake

Delta Lake está optimizado para Structured Streaming en Azure Databricks. Delta Live Tables amplía las funcionalidades nativas con la implementación simplificada de la infraestructura, el escalado mejorado y las dependencias de datos administrados.

Consulta de versiones anteriores de una tabla

Con cada escritura en una tabla Delta se crea una nueva versión de la tabla. Puede usar el registro de transacciones para revisar las modificaciones de la tabla y consultar las versiones anteriores de la tabla. Consulte Trabajar con el historial de tablas de Delta Lake.

Mejoras de los esquemas de Delta Lake

Delta Lake valida el esquema al escribir, lo que garantiza que todos los datos escritos en una tabla coincidan con los requisitos que ha establecido.

Administración de archivos e indexación de datos con Delta Lake

Azure Databricks establece muchos parámetros predeterminados de Delta Lake que afectan al tamaño de los archivos de datos y al número de versiones de tabla que se conservan en el historial. Delta Lake usa una combinación de análisis de metadatos y diseño de datos físicos para reducir el número de archivos examinados para satisfacer cualquier consulta.

Configuración y revisión de la configuración de Delta Lake

Azure Databricks almacena todos los datos y metadatos de tablas de Delta Lake en el almacenamiento de objetos en la nube. Muchas configuraciones se pueden establecer en el nivel de tabla o en la sesión de Spark. Puede revisar los detalles de la tabla Delta para detectar qué opciones están configuradas.

Canalizaciones de datos con Delta Lake y Delta Live Tables

Azure Databricks anima a los usuarios a utilizar una arquitectura de medallion para procesar datos a través de una serie de tablas a medida que los datos se limpian y enriquecen. Delta Live Tables simplifica las cargas de trabajo de ETL mediante la ejecución optimizada y la implementación y el escalado automatizados de la infraestructura.

Compatibilidad de características de Delta Lake

No todas las características de Delta Lake están en todas las versiones de Databricks Runtime. Para obtener información sobre el control de versiones de Delta Lake, consulte ¿Cómo administra Azure Databricks la compatibilidad de características de Delta Lake?

Documentación de la 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 sección Entorno del sistema en el artículo correspondiente de las notas de la versión de Databricks Runtime. Para obtener documentación sobre las API de Delta Lake para Python, Scala y Java, consulte la Documentación de software de código abierto de Delta Lake.