Partager via


Convertir en Delta Lake

La commande SQL CONVERT TO DELTA effectue une conversion unique des tables Parquet et Iceberg en tables Delta Lake. Pour la conversion incrémentielle des tables Parquet ou Iceberg en Delta Lake, consultez Cloner de manière incrémentielle des tables Parquet et Iceberg dans Delta Lake.

Unity Catalog prend en charge la commande SQL CONVERT TO DELTA pour les tables Parquet et Iceberg stockées dans des emplacements externes gérés par Unity Catalog.

Vous pouvez configurer des fichiers de données Parquet existants en tant que tables externes dans Unity Catalog, puis les convertir au format Delta Lake pour déverrouiller toutes les fonctionnalités du lakehouse Databricks.

Pour obtenir la documentation technique, consultez CONVERT TO DELTA.

Conversion d’un répertoire de fichiers Parquet ou Iceberg dans un emplacement externe vers Delta Lake

Notes

  • La conversion de tables Iceberg est en préversion publique.
  • La conversion de tables Iceberg est prise en charge dans Databricks Runtime 10.4 et versions ultérieures.
  • La conversion des tables du metastore Iceberg n’est pas prise en charge.
  • La conversion de tables Iceberg ayant connu une évolution de partition n’est pas prise en charge.
  • La conversion de tables de fusion en lecture Iceberg ayant été mises à jour, supprimées ou fusionnées n’est pas prise en charge.
  • Voici des limitations pour convertir des tables Iceberg avec des partitions définies sur des colonnes tronquées :
    • Dans Databricks Runtime 12.2 LTS et versions ultérieures, le seul type de colonne tronqué pris en charge est string.
    • Dans Databricks Runtime 13.3 LTS et versions ultérieures, vous pouvez utiliser des colonnes tronquées de types string, long ou int.
    • Azure Databricks ne prend pas en charge l’utilisation de colonnes tronquées de type decimal.

Vous pouvez convertir un répertoire de fichiers de données Parquet en table Delta Lake tant que vous disposez d’un accès en écriture à l’emplacement de stockage. Pour plus d’informations sur la configuration de l’accès avec Unity Catalog, consultez Connexion au stockage d’objets cloud à l’aide de Unity Catalog.

Remarque

Unity Catalog nécessite 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`;

Pour charger des tables converties comme tables externes dans Unity Catalog, vous avez besoin d’autorisations CREATE TABLES sur l’emplacement externe.

Remarque

Pour Databricks Runtime 11.3 LTS et versions ultérieures, CONVERT TO DELTA déduit automatiquement les informations de partitionnement des tables inscrites dans le metastore, éliminant ainsi la nécessité de spécifier manuellement des partitions.

Conversion de tables managées et externes en Delta Lake sur Unity Catalog

Unity Catalog prend en charge de nombreux formats pour les tables externes, mais prend uniquement en charge Delta Lake pour les tables managées. Pour convertir une table Parquet managée directement en table Unity Catalog Delta Lake managée, consultez Mettre à niveau une table Hive managée vers une table Unity Catalog managée en utilisant CLONE.

Pour mettre à niveau une table Parquet externe vers une table externe Unity Catalog, consultez Mettre à niveau une seule table Hive vers une table externe Unity Catalog avec l’Assistant Mise à niveau.

Une fois que vous avez inscrit une table Parquet externe dans Unity Catalog, vous pouvez la convertir en table Delta Lake externe. Notez que vous devez fournir des informations de partitionnement si la table Parquet est partitionnée.

CONVERT TO DELTA catalog_name.database_name.table_name;

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