Conversión a Delta Lake

El comando SQL CONVERT TO DELTA realiza una única conversión de tablas Parquet e Iceberg a tablas Delta Lake. Para la conversión incremental de tablas Parquet o Iceberg a Delta Lake, consulte Clonación incremental de tablas Parquet e Iceberg a Delta Lake.

Unity Catalog admite el comando SQL CONVERT TO DELTA para las tablas Parquet e Iceberg que están almacenadas en ubicaciones externas que administra Unity Catalog.

Puede configurar los archivos de datos Parquet existentes como tablas externas en Unity Catalog y, a continuación, convertirlos en Delta Lake para desbloquear todas las características de Databricks Lakehouse.

Para obtener la documentación técnica, consulte CONVERTIR EN DELTA.

Conversión de un directorio de archivos Parquet o Iceberg en una ubicación externa a Delta Lake

Nota:

  • La conversión de las tablas Iceberg está en Versión preliminar pública.
  • La conversión de tablas Iceberg está soportada en Databricks Runtime 10.4 y superiores.
  • No se admite la conversión de tablas de metastore de Iceberg.
  • No se admite la conversión de tablas Iceberg que han experimentado la evolución de las particiones.
  • No se admite la conversión de tablas merge-on-read que han experimentado actualizaciones, eliminaciones o combinaciones.
  • A continuación se muestran las limitaciones para convertir tablas de Iceberg con particiones definidas en columnas truncadas:
    • En Databricks Runtime 13.0 y versiones posteriores, el único tipo de columna truncado admitido es string.
    • En Databricks Runtime 13.1 y versiones posteriores, puede trabajar con columnas truncadas de tipos string, long o int.
    • Azure Databricks no admite el trabajo con columnas truncadas de tipo decimal.

Puede convertir un directorio de archivos de datos Parquet en una tabla de Delta Lake siempre que tenga acceso de escritura en la ubicación de almacenamiento; para obtener información sobre la configuración del acceso con Unity Catalog, consulte Conexión al almacenamiento de objetos en la nube mediante Unity Catalog.

Nota:

Unity Catalog requiere Azure Data Lake Storage Gen2.

CONVERT TO DELTA parquet.`abfss://container@storageAccount.dfs.core.windows.net/parquet-data`;

CONVERT TO DELTA iceberg.`abfss://container@storageAccount.dfs.core.windows.net/iceberg-data`;

Para cargar tablas que estén convertidas en tablas externas en Unity Catalog, necesita permisos CREATE TABLES en la ubicación externa.

Nota:

Para Databricks Runtime 11.2 y versiones posteriores, CONVERT TO DELTA deduce automáticamente la información de creación de particiones para las tablas registradas en el metastore, lo que elimina el requisito de especificar manualmente las particiones.

Conversión de tablas administradas y externas en Delta Lake en Unity Catalog

Unity Catalog admite muchos formatos para tablas externas, pero solo admite Delta Lake para tablas administradas. Para convertir una tabla de Parquet administrada directamente en una tabla Delta Lake de Unity Catalog administrada, consulte Actualización de una tabla a una tabla administrada de Unity Catalog.

Para actualizar una tabla externa de Parquet al catálogo de Unity, consulte Actualización de una sola tabla externa al catálogo de Unity.

Una vez que haya registrado una tabla Parquet externa en Unity Catalog, puede convertirla en una tabla Delta Lake externa. Tenga en cuenta que debe proporcionar información de creación de particiones si la tabla Parquet tiene particiones.

CONVERT TO DELTA catalog_name.database_name.table_name;

CONVERT TO DELTA catalog_name.database_name.table_name PARTITIONED BY (date_updated DATE);