Klonen einer verwalteten Iceberg-Tabelle

Sie können eine vollständige, unabhängige Kopie einer verwalteten Iceberg-Tabelle erstellen.DEEP CLONE Ein Deep Clone kopiert sowohl die Datendateien als auch die Tabellenmetadaten in eine neue verwaltete Iceberg-Tabelle im Unity-Katalog.

Verwaltete Iceberg-Tabellen unterstützen nur tiefe Klone. Flaches Klonen und Formatkonvertierung beim Klonen werden nicht unterstützt.

Klonmethoden für Iceberg-Tabellen

Der von Ihnen verwendete Klonvorgang hängt von den Quell- und Zieltabellentypen ab:

Source Target Operation
Verwalteter Iceberg Verwalteter Iceberg DEEP CLONE.
Fremde Eisberge Verwalteter Iceberg DEEP CLONE. Siehe Klonen einer fremden Iceberg-Tabelle in verwaltetes Iceberg.
Parkett oder fremder Eisberg Verwaltetes oder externes Delta Lake Inkrementelles Klonen. Siehe Inkrementelles Klonen von Parquet- und Apache Iceberg-Tabellen auf Delta Lake.

Um eine verwaltete Iceberg-Tabelle aus Abfrageergebnissen zu erstellen, anstatt eine vorhandene Tabelle zu klonen, verwenden Sie CREATE TABLE ... AS SELECT. Siehe CREATE TABLE [USING].

SHALLOW CLONE wird für Iceberg-Tabellen nicht unterstützt. Informationen finden Sie unter Einschränkungen.

Requirements

Um eine verwaltete Iceberg-Tabelle vollständig zu klonen, benötigen Sie:

  • Databricks Runtime 16.4 LTS oder höher.
  • SELECT Berechtigungen für die Quelltabelle.
  • Falls eine vorhandene Tabelle ersetzt wird, Berechtigungen CREATE TABLE für das Zielschema oder Berechtigungen MODIFY für die Zieltabelle.
  • Die Vorhersageoptimierung ist im Zielkatalog oder -schema aktiviert.

Eine verwaltete Iceberg-Tabelle vollständig klonen

Verwenden Sie CREATE TABLE ... DEEP CLONE, um eine verwaltete Iceberg-Tabelle zu kopieren:

CREATE TABLE <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;

So ersetzen Sie eine vorhandene Zieltabelle:

CREATE OR REPLACE TABLE <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;

Das Ziel nur erstellen, wenn es noch nicht vorhanden ist:

CREATE TABLE IF NOT EXISTS <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;

Vollständige CREATE TABLE CLONE Syntax finden Sie unter CREATE TABLE CLONE.

Archiv einer Produktionstabelle

So erstellen Sie eine unabhängige Momentaufnahme einer Produktionstabelle für Archivierungs- oder Compliancezwecke:

CREATE TABLE prod_catalog.archive.orders_snapshot_may2026
DEEP CLONE prod_catalog.main.orders;

Kopieren einer Tabelle in eine Entwicklungsumgebung

So klonen Sie eine Produktionstabelle in einen Entwicklungskatalog für sichere Experimente ohne Auswirkungen auf Produktionsdaten:

CREATE OR REPLACE TABLE dev_catalog.test.orders
DEEP CLONE prod_catalog.main.orders;

Klonen Sie eine externe Iceberg-Tabelle in eine verwaltete Iceberg-Tabelle

Sie können DEEP CLONE verwenden, um eine externe Iceberg-Tabelle als verwaltete Iceberg-Tabelle in Unity Catalog zu migrieren. Der Klon kopiert alle Daten und Metadaten in den Unity-Katalogspeicher. Die ursprünglichen Dateien, die vom externen Katalog verwaltet werden, werden nicht wiederverwendet.

CREATE TABLE <uc-catalog>.<schema>.<target-table>
DEEP CLONE <foreign-catalog>.<schema>.<source-table>;

Nach Abschluss des Klons ist die Zieltabelle eine vollständig verwaltete Iceberg-Tabelle im Unity-Katalog, unabhängig vom Quellkatalog.

Note

Die Zero-Copy-Migration aus einem fremden Katalog wird nicht unterstützt. Informationen finden Sie unter Einschränkungen.

Legen Sie Tabelleneigenschaften bei einem Deep Clone fest

Sie können Iceberg-Tabelleneigenschaften in der Anweisung DEEP CLONE nicht festlegen. Verwenden Sie ALTER TABLE SET TBLPROPERTIES nach Abschluss des Klonvorgangs, um Eigenschaften der geklonten Tabelle hinzuzufügen oder zu überschreiben.

So legen Sie beispielsweise benutzerdefinierte Eigenschaften fest, um die Quelle eines Klons aufzuzeichnen, der als Momentaufnahme verwendet wird:

CREATE TABLE prod_catalog.archive.orders_snapshot
DEEP CLONE prod_catalog.main.orders;

ALTER TABLE prod_catalog.archive.orders_snapshot
SET TBLPROPERTIES (
  'archive.source' = 'prod_catalog.main.orders',
  'archive.created_date' = '2026-05-11'
);

Klonverhalten

Wichtige Überlegungen zum Verhalten beim tiefen Klonen:

  • Ein Deep Clone ist eine vollständige, unabhängige Kopie der Quelltabelle. Änderungen am Klon wirken sich nicht auf die Quelle aus, und Änderungen an der Quelle wirken sich nicht auf den Klon aus.
  • Ein Deep Clone hat einen unabhängigen Snapshotverlauf. Zeitreisen auf dem Klon verwenden die Geschichte des Klons, nicht die Geschichte der Quelle.
  • Die Schema-, Partitionierungsinformationen und Tabelleneigenschaften werden in den Deep Clone kopiert. Unity-Katalogtags werden nicht kopiert.
  • Nach der Erstellung verwaltet Unity Catalog den Klon eigenständig mit prädiktiver Optimierung.

Einschränkungen

  • Flaches Klonen wird für verwaltete Iceberg-Tabellen nicht unterstützt.
  • Unity Catalog unterstützt keine Nullkopie-Konvertierung fremder Iceberg-Tabellen in verwaltete Iceberg-Tabellen. Sie müssen DEEP CLONE verwenden. Alle Daten werden während des Klonvorgangs in den Unity-Katalogspeicher kopiert.
  • Tiefe Klone kopieren den Tabellenverlauf nicht, was sich auf Time-Travel-Abfragen auswirkt.
  • Sie können das Tabellenformat während des Klonens nicht ändern. Das Ziel ist immer eine verwaltete Iceberg-Tabelle.
  • Sie können während des Klonens keine Tabelleneigenschaften festlegen. Verwenden Sie ALTER TABLE SET TBLPROPERTIES, nachdem der Deep Clone abgeschlossen ist. Siehe Festlegen von Tabelleneigenschaften für einen Deep Clone.