Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der CONVERT TO DELTA SQL-Befehl führt eine einmalige Konvertierung für Parkett- und Apache Iceberg-Tabellen in Delta Lake-Tabellen durch. Für die inkrementelle Konversion von Parquet- oder Iceberg-Tabellen nach Delta Lake siehe Parquet- und Apache Iceberg-Tabellen in Delta Lake klonen.
Unity Catalog unterstützt den SQL-Befehl CONVERT TO DELTA für Parquet- und Iceberg-Tabellen, die an externen Speicherorten gespeichert sind, die von Unity Catalog verwaltet werden.
Sie können vorhandene Parquet-Datendateien als externe Tabellen in Unity Catalog konfigurieren und sie dann in Delta Lake konvertieren, um alle Funktionen des Databricks Lakehouse freizuschalten.
Die technische Dokumentation finden Sie unter CONVERT TO DELTA.
Konvertieren eines Verzeichnisses von Parquet- oder Iceberg-Dateien in einen externen Speicherort in Delta Lake
Hinweis
- Das Konvertieren von Iceberg-Tabellen befindet sich in der Public Preview-Phase.
- Das Konvertieren von Iceberg-Tabellen wird in Databricks Runtime 10.4 LTS und höher unterstützt.
- Das Konvertieren von Iceberg-Metastore-Tabellen wird nicht unterstützt.
- Das Konvertieren von Iceberg-Tabellen, die eine Partitionsentwicklung erlebt haben, wird nicht unterstützt.
- Das Konvertieren von Iceberg Merge-on-Read-Tabellen mit Updates, Löschungen oder Zusammenführungen wird nicht unterstützt.
- Im Folgenden sind Einschränkungen für die Konvertierung von Iceberg-Tabellen mit Partitionen aufgeführt, die für abgeschnittene Spalten definiert sind:
- In Databricks Runtime 12.2 LTS und früher wird nur der abgeschnittene Spaltentyp
stringunterstützt. - In Databricks Runtime 13.3 LTS und höher können Sie die abgeschnittenen Spaltentypen
string,longundintverwenden. - Azure Databricks unterstützt das Arbeiten mit dem abgeschnittenen Spaltentyp
decimalnicht.
- In Databricks Runtime 12.2 LTS und früher wird nur der abgeschnittene Spaltentyp
Sie können ein Verzeichnis von Parkettdatendateien in eine Delta Lake-Tabelle konvertieren, solange Sie Schreibzugriff auf den Speicherort haben. Informationen zum Konfigurieren des Zugriffs mit Unity-Katalog finden Sie unter Herstellen einer Verbindung mit cloudobjektspeicher mit Unity Catalog.
Hinweis
Unity-Katalog erfordert Azure Data Lake Storage.
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`;
Um konvertierte Tabellen als externe Tabellen in Unity Catalog zu laden, benötigen Sie die CREATE EXTERNAL TABLE-Berechtigungen für den externen Speicherort.
Hinweis
Für Databricks Runtime 11.3 LTS und höher leitet CONVERT TO DELTA automatisch Partitionierungsinformationen für Tabellen ab, die im Hive-Metastore registriert sind. Sie müssen Partitionierungsinformationen für externe Unity Catalog-Tabellen bereitstellen.
Konvertieren verwalteter und externer Tabellen in Delta Lake in Unity Catalog
CONVERT TO DELTA-Syntax kann nur zum Erstellen externer Tabellen im Unity Catalog verwendet werden. Verwenden Sie einen CTAS Befehl, um eine Hive-Metastore-verwaltete Parquet-Tabelle direkt in eine Delta Lake-Tabelle des Unity Catalog zu konvertieren, siehe Aktualisieren Sie eine Hive-Tabelle zu einer Unity Catalog verwalteten Tabelle mit CREATE TABLE AS SELECT.
Informationen zum Upgrade einer externen Parquet-Tabelle auf eine externe Unity Catalog-Tabelle finden Sie unter Aktualisieren eines Schemas oder einer Tabelle aus dem Hive-Metastore auf externe Unity-Katalog-Tabellen mithilfe des Upgrade-Wizard.
Nachdem Sie einen externen Parketttisch im Unity-Katalog registriert haben, können Sie ihn in einen externen Delta Lake-Tisch konvertieren. Sie müssen Partitionsinformationen bereitstellen, wenn die Parquet-Tabelle partitioniert ist.
CONVERT TO DELTA catalog_name.database_name.table_name;
CONVERT TO DELTA catalog_name.database_name.table_name PARTITIONED BY (date_updated DATE);