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 LTS 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 12.2 LTS y versiones posteriores, el único tipo de columna truncado admitido es string.
    • En Databricks Runtime 13.3 LTS 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 de Parquet en una tabla de Delta Lake siempre que tenga acceso de escritura en la ubicación de almacenamiento. Para obtener información sobre cómo configurar el acceso con el catálogo de Unity, consulte Conexión al almacenamiento y servicios de objetos en la nube mediante el catálogo de Unity.

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 el permiso CREATE EXTERNAL TABLE en la ubicación externa.

Nota

Para Databricks Runtime 11.3 LTS y versiones posteriores, CONVERT TO DELTA deduce automáticamente la información de creación de particiones para las tablas registradas en el metastore de Hive. Debe proporcionar información de creación de particiones para las tablas externas del catálogo de Unity.

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

La sintaxis CONVERT TO DELTA solo se puede usar para crear tablas externas de Unity Catalog. Use una instrucción CTAS para convertir una tabla de Parquet administrada por el metastore de Hive heredado directamente en una tabla administrada de Unity Catalog Delta Lake, consulte Actualizar una tabla administrada de Hive a una tabla administrada de Unity Catalog mediante CREATE TABLE AS SELECT.

Para actualizar una tabla externa de Parquet a una tabla externa de Catálogo de Unity, consulte Actualizar una sola tabla de Hive a una tabla externa de Catálogo de Unity mediante el asistente para actualización.

Después de que haya registrado una tabla Parquet externa en Unity Catalog, puede convertirla en una tabla Delta Lake externa. 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);