Freigeben über


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 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 string unterstützt.
    • In Databricks Runtime 13.3 LTS und höher können Sie die abgeschnittenen Spaltentypen string, long und int verwenden.
    • Azure Databricks unterstützt das Arbeiten mit dem abgeschnittenen Spaltentyp decimalnicht.

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 Catalog finden Sie unter Herstellen einer Verbindung mit Cloud-Objektspeicher mit 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 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 eine CTAS-Anweisung, um eine alte, vom Hive-Metaspeicher verwaltete Parquet-Tabelle direkt in eine verwaltete Unity Catalog Delta Lake-Tabelle umzuwandeln, siehe Upgrade einer Hive-Tabelle in eine vom Unity Catalog verwaltete Tabelle mit CREATE TABLE AS SELECT.

Informationen zum Upgraden einer externen Parquet-Tabelle auf eine externe Unity Catalog-Tabelle finden Sie unter Upgraden einer einzelnen Hive-Tabelle auf eine externe Unity Catalog-Tabelle mithilfe des Upgrade-Assistenten.

Nachdem Sie eine externe Parquet-Tabelle in Unity Catalog registriert haben, können Sie sie in eine externe Delta Lake-Tabelle 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);