Delen via


Converteren naar Delta Lake

De CONVERT TO DELTA SQL-opdracht voert een eenmalige conversie uit voor Parquet en Iceberg tables naar Delta Lake tables. Voor incrementele conversie van Parquet of Iceberg tables naar Delta Lake, zie voor het incrementeel klonen van Parquet en Iceberg tables naar Delta Lake.

Unity Catalog ondersteunt de CONVERT TO DELTA SQL-opdracht voor Parquet en Iceberg tables die zijn opgeslagen op externe locaties die worden beheerd door Unity Catalog.

U kunt bestaande Parquet-gegevensbestanden configureren als externe tables in Unity Catalog en deze vervolgens converteren naar Delta Lake om alle functies van databricks lakehouse te ontgrendelen.

Zie CONVERT TO DELTAvoor de technische documentatie.

Een map met Parquet- of Iceberg-bestanden op een externe locatie converteren naar Delta Lake

Notitie

  • Het converteren van Iceberg tables bevindt zich in openbare preview-.
  • Het converteren van Iceberg tables wordt ondersteund in Databricks Runtime 10.4 LTS en hoger.
  • Converteren van Iceberg metastore tables wordt niet ondersteund.
  • Converteren van Iceberg tables die een partition evolutie heeft ondergaan wordt niet ondersteund.
  • Het converteren van Iceberg-merge-on-read-tables waarvoor updates, verwijderingen of samenvoegingen zijn opgetreden, wordt niet ondersteund.
  • Hier volgen beperkingen voor het converteren van Iceberg-tables met partities die zijn gedefinieerd op afgekorte columns:
    • In Databricks Runtime 12.2 LTS en lager is het enige ondersteunde column type string.
    • In Databricks Runtime 13.3 LTS en hoger kunt u werken met afgekapte columns typen string, longof int.
    • Azure Databricks biedt geen ondersteuning voor het werken met afgekapte columns van het type decimal.

U kunt een map met Parquet-gegevensbestanden converteren naar een Delta Lake-table zolang u schrijftoegang hebt op de opslaglocatie. Voor meer informatie over het configureren van toegang met Unity Catalog, zie Connect to cloud object storage and services using Unity Catalog.

Notitie

Voor Unity Catalog is Azure Data Lake Storage Gen2 vereist.

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`;

Als u geconverteerde tables wilt laden als externe tables voor Unity Catalog, hebt u de CREATE EXTERNAL TABLE machtiging nodig op de externe locatie.

Notitie

Voor Databricks Runtime 11.3 LTS en hoger kan CONVERT TO DELTA automatisch partitionering afleiden voor tables die zijn geregistreerd in de Hive-metastore. U moet partitioneringsgegevens opgeven voor Unity Catalog extern tables.

Beheerde en externe tables converteren naar Delta Lake op Unity Catalog

CONVERT TO DELTA syntaxis kan alleen worden gebruikt voor het maken van externe Unity Catalogtables. Gebruik een CTAS-instructie om een verouderde Hive-metastore beheerd door Parquet table direct om te zetten naar een door Unity beheerde Delta Lake Catalogtable. Zie Een Hive-table upgraden naar een door Unity beheerde Catalogtable met behulp van CREATE TABLE AS-SELECT.

Als u een externe Parquet-table wilt upgraden naar een Unity Catalog externe table, raadpleegt u om een enkele Hive-table naar een Unity Catalog externe table te upgraden met de upgrade wizard.

Nadat u een externe Parquet table hebt geregistreerd bij Unity Catalog, kunt u deze converteren naar een externe Delta Lake table. U moet partitioneringsgegevens opgeven als de Parquet-table is gepartitioneerd.

CONVERT TO DELTA catalog_name.database_name.table_name;

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