Klonujte spravovanou tabulku, která používá Iceberg

Můžete vytvořit plnou, nezávislou kopii spravované tabulky, která používá Iceberg s DEEP CLONE. Hluboký klon zkopíruje jak datové soubory, tak metadata tabulky do nové spravované tabulky pomocí Iceberg v Unity Catalog.

Spravované tabulky s Icebergem podporují pouze hluboké klonování. Mělké klonování a převod formátu během klonování nejsou podporovány.

Metody klonování pro tabulky Iceberg

Operace klonování, kterou použijete, závisí na typech zdrojové a cílové tabulky:

Zdroj Target Operation
Spravovaná tabulka pomocí Icebergu Spravovaná tabulka pomocí Icebergu DEEP CLONE.
Cizí ledovec Spravovaná tabulka pomocí Icebergu DEEP CLONE. Viz Klonování externí tabulky Iceberg do spravované tabulky pomocí Iceberg.
Parquet nebo externí Iceberg Spravované nebo externí Delta Lake Přírůstkový klon. Viz přírůstkové klonování tabulek Parquet a Apache Iceberg do Delta Lake.

Pro vytvoření spravované tabulky pomocí Icebergu z výsledků dotazu místo klonování existující tabulky použijte CREATE TABLE ... AS SELECT. Viz CREATE TABLE [POUŽITÍ].

SHALLOW CLONE nepodporuje tabulky Iceberg. Viz Omezení.

Requirements

Pro hluboké klonování spravované tabulky pomocí Icebergu potřebujete:

  • Databricks Runtime 16.4 LTS nebo vyšší
  • SELECT oprávnění k zdrojové tabulce.
  • Při nahrazení existující tabulky oprávnění CREATE TABLE pro cílové schéma nebo oprávnění MODIFY pro cílovou tabulku.
  • V cílovém katalogu nebo schématu je povolená prediktivní optimalizace.

Hluboké klonování spravované tabulky s využitím Icebergu

Použijte CREATE TABLE ... DEEP CLONE ke zkopírování spravované tabulky pomocí Icebergu:

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

Nahrazení existující cílové tabulky:

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

Vytvořit cíl pouze v případě, že ještě neexistuje:

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

Úplnou syntaxi CREATE TABLE CLONE najdete v CREATE TABLE CLONE.

Archivace produkční tabulky

Vytvoření nezávislého snímku produkční tabulky pro účely archivace nebo dodržování předpisů:

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

Kopírování tabulky do vývojového prostředí

Klonování produkční tabulky do vývojového katalogu pro bezpečné experimentování bez ovlivnění produkčních dat:

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

Klonujte zahraniční tabulku Iceberg na spravovanou tabulku pomocí Iceberg

Pomocí DEEP CLONE můžete externí tabulku Iceberg migrovat do Unity Catalog jako spravovanou tabulku s využitím Icebergu. Klon zkopíruje všechna data a metadata do úložiště katalogu Unity. Původní soubory spravované externím katalogem se znovu nepoužívají.

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

Po dokončení klonu je cílová tabulka plně spravovaná pomocí Iceberg v Unity Catalog, nezávisle na zdrojovém katalogu.

Note

Migrace bez kopírování z cizího katalogu není podporována. Viz Omezení.

Nastavení vlastností tabulky v hlubokém klonování

V příkazu DEEP CLONE nelze nastavit vlastnosti tabulky Iceberg. Pokud chcete přidat nebo přepsat vlastnosti naklonované tabulky, použijte ALTER TABLE SET TBLPROPERTIES po dokončení klonování.

Pokud například chcete nastavit vlastní vlastnosti pro zaznamenání zdroje klonu použitého jako snímek:

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

Chování při klonování

Důležité informace o fungování hlubokého klonování:

  • Hluboký klon je úplná, nezávislá kopie zdrojové tabulky. Změny klonu nemají vliv na zdroj a změny ve zdroji nemají vliv na klon.
  • Hluboký klon má nezávislou historii snapshotů. Časová cesta na klonu používá historii klonu, ne historii zdroje.
  • Schéma, informace o dělení a vlastnosti tabulky se zkopírují do hloubkového klonu. Značky katalogu Unity se nekopírují.
  • Po vytvoření Unity Catalog spravuje klon nezávisle pomocí prediktivní optimalizace.

omezení

  • Povrchní klonování není podporováno pro spravované tabulky s Icebergem.
  • Unity Catalog nepodporuje nulovou konverzi cizích Iceberg tabulek na spravované tabulky pomocí Icebergu. Musíte použít DEEP CLONE. Všechna data se během operace klonování zkopírují do úložiště katalogu Unity.
  • Hluboké klony nekopírují historii tabulek, což ovlivňuje dotazy využívající cestování v čase.
  • Během klonování nemůžete změnit formát tabulky. Cílem je vždy spravovaná tabulka pomocí Icebergu.
  • Během klonování nelze nastavit vlastnosti tabulky. Použijte ALTER TABLE SET TBLPROPERTIES, až bude operace deep clone dokončena. Viz Nastavení vlastností tabulky u hloubkového klonu.