Sdílet prostřednictvím


CREATE TABLE CLONE

Platí pro:zaškrtnuto ano Databricks SQL zaškrtnuto ano Databricks Runtime

Klonuje zdrojovou tabulku Delta, Apache Iceberg nebo spravovanou tabulku Apache Parquet do cílového umístění v konkrétní verzi. Klonování může být buď hluboké, nebo mělké: hluboké klony kopírují data, zatímco mělké klony odkazují na zdrojová data bez jejich kopírování.

  • Tabulky Delta, Parquet a Foreign Iceberg podporují hluboké i mělké klonování.
  • Spravované tabulky Iceberg podporují pouze hloubkové klonování a během klonování nemůžete změnit formát tabulky.

Další informace najdete v tématu Přírůstkové klonování tabulek Parquet a Apache Iceberg do Delta Lake.

Ve službě Databricks SQL a Databricks Runtime 13.3 LTS a novějších můžete u spravovaných tabulek katalogu Unity použít funkci mělkého klonování. V Databricks Runtime 12.2 LTS a níže neexistuje žádná podpora pro mělké klony v katalogu Unity. Viz Shallow clone pro tabulky Unity Catalog.

Důležité

Mezi mělkými a hlubokými klony existují důležité rozdíly, které určují, jak je nejlépe používat. Viz Klonování tabulky ve službě Azure Databricks.

Syntaxe

CREATE TABLE [IF NOT EXISTS] table_name
   [SHALLOW | DEEP] CLONE source_table_name [TBLPROPERTIES clause] [LOCATION path]
[CREATE OR] REPLACE TABLE table_name
   [SHALLOW | DEEP] CLONE source_table_name [TBLPROPERTIES clause] [LOCATION path]

Parametry

  • POKUD NEEXISTUJE

    Pokud je zadáno, příkaz je ignorován, pokud table_name již existuje.

  • [VYTVOŘIT NEBO] NAHRADIT

    Pokud CREATE OR je zadána tabulka je nahrazena, pokud existuje a nově vytvořená, pokud neexistuje. Bez CREATE OR musí table_name existovat.

  • table_name

    Název tabulky, kterou chcete vytvořit. Název nesmí obsahovat dočasnou specifikaci ani specifikaci možností. Pokud název není kvalifikovaný, vytvoří se tabulka v aktuálním schématu. table_name nesmí již existovat, pokud nebyl zadán REPLACE nebo IF NOT EXISTS.

  • MĚLKÝ KLON nebo HLUBOKÝ KLON

    Pokud zadáte SHALLOW CLONE, Azure Databricks vytvoří kopii definice zdrojové tabulky, ale bude odkazovat na soubory zdrojové tabulky. Když zadáte DEEP CLONE (výchozí), Azure Databricks vytvoří úplnou a nezávislou kopii zdrojové tabulky.

    Spravované tabulky Iceberg podporují pouze hloubkové klonování, ne mělké klonování.

  • source_table_name

    Název tabulky, která se má naklonovat. Název může obsahovat časovou specifikaci nebo specifikaci možností.

  • TBLPROPERTIES

    Volitelně nastaví jednu nebo více uživatelem definovaných vlastností.

  • Cesta k umístění

    Volitelně můžete vytvořit externí tabulku s určenou cestou, kam se data ukládají. Pokud table_name sama o sobě je cesta místo identifikátoru tabulky, operace selže. path musí být literál STRING.

Příklady

Můžete použít CREATE TABLE CLONE pro složité operace, jako je migrace dat, archivace dat, reprodukce toku strojového učení, krátkodobé experimenty a sdílení dat. Viz Klonování tabulky ve službě Azure Databricks.