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.
Du kannst eine vollständige, unabhängige Kopie einer verwalteten Tabelle erstellen, die Iceberg mit DEEP CLONEverwendet. Ein Deep-Clone kopiert sowohl die Datendateien als auch die Tabellenmetadaten in eine neue verwaltete Tabelle mit Iceberg in Unity Catalog.
Verwaltete Tabellen, die Iceberg verwenden, unterstützen nur tiefes Klonen. 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 |
|---|---|---|
| Verwaltete Tabelle mit Iceberg | Verwaltete Tabelle mit Iceberg |
DEEP CLONE. |
| Fremde Eisberge | Verwaltete Tabelle mit Iceberg |
DEEP CLONE. Siehe Klonen einer externen Iceberg-Tabelle in eine verwaltete Tabelle mit Iceberg. |
| Parquet oder fremder Iceberg | Verwaltetes oder externes Delta Lake | Inkrementelles Klonen. Siehe Inkrementelles Klonen von Parquet- und Apache Iceberg-Tabellen auf Delta Lake. |
Um mithilfe von Iceberg aus Abfrageergebnissen eine verwaltete Tabelle zu erstellen, anstelle des Klonens einer vorhandenen Tabelle, 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 Tabelle mit Iceberg tief zu klonieren, benötigen Sie:
- Databricks Runtime 16.4 LTS oder höher.
-
SELECTBerechtigungen für die Quelltabelle. - Falls eine vorhandene Tabelle ersetzt wird, Berechtigungen
CREATE TABLEfür das Zielschema oder BerechtigungenMODIFYfür die Zieltabelle. - Die Vorhersageoptimierung ist im Zielkatalog oder -schema aktiviert.
Erstellen Sie mit Iceberg einen Deep Clone einer verwalteten Tabelle
Verwendung CREATE TABLE ... DEEP CLONE zum Kopieren einer verwalteten Tabelle mit Iceberg:
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>;
Erstellen Sie das Ziel nur, falls 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 einer externen Iceberg-Tabelle in eine verwaltete Tabelle mithilfe von Iceberg
Sie können DEEP CLONE verwenden, um eine externe Iceberg-Tabelle als verwaltete Tabelle mit Iceberg 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 Tabelle, die Iceberg in Unity Catalog verwendet und unabhängig vom Quellverzeichnis ist.
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 bei verwalteten Tabellen, die Iceberg verwenden, nicht unterstützt.
- Unity Catalog unterstützt keine Zero-Copy-Konvertierung fremder Iceberg-Tabellen in verwaltete Tabellen mit Iceberg. Sie müssen
DEEP CLONEverwenden. 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 Tabelle mit Iceberg.
- 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.