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
,long
ofint
. - Azure Databricks biedt geen ondersteuning voor het werken met afgekapte columns van het type
decimal
.
- In Databricks Runtime 12.2 LTS en lager is het enige ondersteunde column type
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);