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 om Parquet en Iceberg tables incrementeel te klonen 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.
  • Het converteren van Iceberg-metastore tables wordt niet ondersteund.
  • Het converteren van Iceberg tables dat partition evolutie heeft ervaren, 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 afgekapte 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 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 als externe tables in Unity Catalogwilt laden, hebt u de CREATE EXTERNAL TABLE machtiging nodig op de externe locatie.

Notitie

Voor Databricks Runtime 11.3 LTS en hoger, leidt CONVERT TO DELTA automatisch partitioneringsinformatie af voor tables die bij de Hive-metastore zijn geregistreerd. U moet partitioneringsgegevens opgeven voor Unity Catalog externe tables.

Het converteren van beheerde en externe tables naar Delta Lake op het Unity-platform Catalog

De CONVERT TO DELTA-syntaxis kan alleen worden gebruikt om een externe Catalog voor Unity te maken tables. Gebruik een CTAS instructie om een verouderde Hive-metastore die wordt beheerd door Parquet table rechtstreeks te converteren naar een beheerde Unity Catalog Delta Lake table. Zie Een Hive-table upgraden naar een door Unity Catalog beheerde table met behulp van CREATE TABLE AS-SELECT.

Als u een externe Parquet-table wilt upgraden naar een externe Unity Catalogtable, raadpleegt u een enkele Hive-table naar een externe Unity-Catalogtable upgraden met behulp van de upgradewizard.

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 gepartitioneerd is.

CONVERT TO DELTA catalog_name.database_name.table_name;

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