Freigeben über


Konvertierung zu Delta Lake

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, die sich an einem externen Speicherort befinden, in das Delta-Lake-Format

Hinweis

  • 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.
  • Im Folgenden sind Einschränkungen für die Konvertierung von Iceberg-Tabellen mit Partitionen aufgeführt, die auf abgeschnittenen Spalten basieren:
    • In Databricks Runtime 12.2 LTS und älter wird nur der abgeschnittener 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 abgeschnittenen Spalten vom Typ decimal nicht.

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);