Konvertieren in Delta Lake
Der SQL-Befehl CONVERT TO DELTA
führt eine einmalige Konvertierung für Parquet- und Iceberg-Tabellen in Delta Lake-Tabellen durch. Informationen zur inkrementellen Konvertierung von Parquet- oder Iceberg-Tabellen in Delta Lake finden Sie unter Inkrementelles Klonen von Parquet- und Iceberg-Tabellen in Delta Lake.
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.
Eine 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 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
string
unterstützt. - In Databricks Runtime 13.3 LTS und höher können Sie die abgeschnittenen Spaltentypen
string
,long
undint
verwenden. - Azure Databricks unterstützt das Arbeiten mit dem abgeschnittenen Spaltentyp
decimal
nicht.
- In Databricks Runtime 12.2 LTS und früher wird nur der abgeschnittene Spaltentyp
Sie können ein Verzeichnis von Parquet-Datendateien in eine Delta Lake-Tabelle konvertieren, sofern Sie Zugriff auf den Speicherort haben. Informationen zum Konfigurieren des Zugriffs mit Unity Catalog finden Sie unter Herstellen einer Verbindung mit Cloudobjektspeichern mithilfe von Unity Catalog.
Hinweis
Für Unity Catalog ist Azure Data Lake Storage Gen2 erforderlich.
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 Berechtigungen vom Typ CREATE TABLES
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 Metastore registriert sind, sodass Partitionen nicht manuell angegeben werden müssen.
Konvertieren verwalteter und externer Tabellen in Delta Lake in Unity Catalog
Unity Catalog unterstützt viele Formate für externe Tabellen, für verwaltete Tabellen wird jedoch nur Delta Lake unterstützt. Informationen zum direkten Konvertieren einer verwalteten Parquet-Tabelle in eine verwaltete Unity Catalog-Delta Lake-Tabelle finden Sie unter Upgrade einer Tabelle auf Unity Catalog.
Informationen zum Upgrade einer externen Parquet-Tabelle auf Unity Catalog finden Sie unter Upgrade einer einzigen externen Tabelle auf Unity Catalog.
Nachdem Sie eine externe Parquet-Tabelle in Unity Catalog registriert haben, können Sie sie in eine externe Delta Lake-Tabelle konvertieren. Beachten Sie, dass Sie Partitionsinformationen bereitstellen müssen, 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);