Freigeben über


CREATE TABLE CLONE

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Klonen einer Quelle-Delta, verwalteten Apache-Eisberg- oder Apache-Parquet-Tabelle zu einem Ziel-Speicherort in einer bestimmten Version. Klonen kann entweder tief oder flach sein: Tiefe Klonen kopieren die Daten, während flache Klonen auf die Quelldaten verweisen, ohne sie zu kopieren.

  • Delta-, Parquet- und Foreign Iceberg-Tabellen unterstützen sowohl tiefe als auch flache Klonung.
  • Verwaltete Iceberg-Tabellen unterstützen nur tiefes Klonen, und Sie können das Tabellenformat während des Klonens nicht ändern.

Für weitere Informationen siehe inkrementelles Klonen von Parquet- und Apache-Eisberg-Tabellen zu Delta Lake.

In Databricks SQL und Databricks Runtime 13.3 LTS und höher können Sie einen flachen Klon mit verwalteten Unity Catalog-Tabellen verwenden. In Databricks Runtime 12.2 LTS und früher gibt es keine Unterstützung für flache Klone in Unity Catalog. Weitere Informationen finden Sie unter Flacher Klon für Unity Catalog-Tabellen.

Wichtig

Es gibt wichtige Unterschiede zwischen flachen und tiefen Klonen, die bestimmen können, wie sie am besten verwendet werden. Siehe Klonen einer Tabelle in Azure Databricks.

Syntax

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]

Parameter

  • WENN NICHT EXISTIERT

    Wenn angegeben, wird die Anweisung ignoriert, wenn table_name bereits vorhanden ist.

  • [ERSTELLEN ODER] ERSETZEN

    Wenn CREATE OR angegeben ist, wird die Tabelle ersetzt, wenn sie vorhanden ist, und neu erstellt, wenn dies nicht der Fall ist. Ohne CREATE OR muss table_name vorhanden sein.

  • table_name

    Der Name der zu erstellenden Tabelle. Der Name darf keine zeitliche Spezifikation oder Optionsspezifikation enthalten. Wenn der Name ohne Qualifizierung angegeben wird, wird die Tabelle im aktuellen Schema erstellt. table_name darf nicht bereits vorhanden sein, es sei denn, REPLACE oder IF NOT EXISTS wurde angegeben.

  • SHALLOW CLONE oder DEEP CLONE

    Wenn Sie SHALLOW CLONE angeben, wird Azure Databricks eine Kopie der Definition der Quelltabelle erstellen, aber auf die Dateien der Quelltabelle verweisen. Wenn Sie DEEP CLONE (Standard) angeben, erstellt Azure Databricks eine vollständige, unabhängige Kopie der Quelltabelle.

    Verwaltete Iceberg-Tabellen unterstützen nur tiefes Klonen, nicht flaches Klonen.

  • source_table_name

    Der Name der tabelle, die geklont werden soll. Der Name kann eine zeitliche Spezifikation oder Optionsangabe enthalten.

  • TBLPROPERTIES

    Legt optional eine oder mehrere benutzerdefinierte Eigenschaften fest.

  • Speicherort Pfad

    Optional wird eine externe Tabelle mit dem angegebenen Speicherort als Pfad erstellt, in dem die Daten gespeichert werden. Wenn table_name selbst ein Pfad anstelle eines Tabellenbezeichners ist, schlägt der Vorgang fehl. path muss ein Zeichenfolgenliteral sein.

Beispiele

Sie können CREATE TABLE CLONE für komplexe Vorgänge wie Datenmigration, Datenarchivierung, Reproduktion von Machine Learning-Flows, kurzfristige Experimente und Datenfreigabe verwenden. Siehe Klonen einer Tabelle in Azure Databricks.