Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
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.
Note
Streamované tabulky a materializovaná zobrazení nejsou podporovány jako zdrojové nebo cílové tabulky pro CLONE. Viz omezení tabulek streamování a materializovaná omezení zobrazení.
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_namejiž existuje.[VYTVOŘIT NEBO] NAHRADIT
Pokud
CREATE ORje zadána tabulka je nahrazena, pokud existuje a nově vytvořená, pokud neexistuje. BezCREATE ORmusítable_nameexistovat.-
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_namenesmí již existovat, pokud nebyl zadánREPLACEneboIF 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áteDEEP 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í.
-
Název tabulky, která se má naklonovat. Název může obsahovat dočasnou specifikaci nebo specifikaci možností.
-
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_namesama o sobě je cesta místo identifikátoru tabulky, operace selže.pathmusí být literál STRING.
Příklady
Hluboké klonování a mělké klonování tabulky Delta Lake:
-- Deep clone: copies data and metadata
CREATE TABLE target_catalog.target_schema.target_table
DEEP CLONE source_catalog.source_schema.source_table;
-- Shallow clone: copies metadata only, references source data files
CREATE TABLE target_catalog.target_schema.target_table
SHALLOW CLONE source_catalog.source_schema.source_table;
Hloubkové klonování spravované tabulky Iceberg (podporuje se pouze hloubkové klonování):
CREATE TABLE target_catalog.target_schema.target_table
DEEP CLONE source_catalog.source_schema.source_table;
Další příklady klonování Delta Lake, včetně archivace dat a pracovních postupů ML, najdete v tématu Klonování tabulky v Azure Databricks. Další spravované příklady klonování Icebergu najdete v tématu Klonování spravované tabulky Iceberg.
Limitations
- V Unity Catalogu nemůžete použít
CREATE OR REPLACEk přepsání existujícího mělkého klonu. PoužijteDROP TABLEnásledovanýCREATE TABLEnebo použijte nový název tabulky. Viz Omezení.