CREATE TABLE CLONE

適用対象:check marked yes Databricks SQL check marked yes Databricks Runtime

ソースの Delta テーブルを特定のバージョンの複製先にクローンします。 クローンはディープまたはシャローのいずれかです。ディープ クローンではソースからデータをコピーし、シャロー クローンではコピーしません。 ソースの Parquet テーブルと Iceberg テーブルを複製することもできます。 「Parquet テーブルと Iceberg テーブルを Delta Lake に増分複製する」を参照してください。

Databricks SQL および Databricks Runtime 13.1 以降では、Unity Catalog マネージド テーブルでシャロー クローンを使用できます。 Databricks Runtime 13.0 以下では、Unity Catalog のシャロー クローンはサポートされていません。 「Unity Catalog テーブルのシャロー クローン」を参照してください。

重要

シャローとディープのクローンには、それらの最適な使用方法を決定できる重要な違いがあります。 「Azure Databricks でテーブルを複製する」を参照してください。

構文

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]

パラメーター

  • IF NOT EXISTS

    指定した場合、table_name が既に存在するとステートメントは無視されます。

  • [CREATE OR] REPLACE

    CREATE OR が指定されている場合、テーブルが存在していれば置き換えられ、存在しない場合は新しく作成されます。 CREATE OR がない 場合は、table_name が存在している必要があります。

  • table_name

    作成する Delta Lake テーブルの名前。 この名前には、テンポラル仕様を含めることはできません。 名前が修飾されていない場合、テーブルは現在のスキーマに作成されます。 REPLACE または IF NOT EXISTS が指定されていない限り、table_name はまだ存在してはなりません。

  • SHALLOW CLONE または DEEP CLONE

    SHALLOW CLONE を指定すると、Azure Databricks により、ソース テーブルの定義のコピーが作成されますが、ソース テーブルのファイルを参照します。 DEEP CLONE (既定値) を指定すると、Azure Databricks により、ソース テーブルの完全かつ独立したコピーが作成されます。

  • source_table_name

    クローンする Delta Lake テーブルの名前。 名前には、テンポラル仕様が含まれる場合があります。

  • TBLPROPERTIES

    必要に応じて、1 つ以上のユーザー定義プロパティを設定します。

  • LOCATION パス

    必要に応じて、データが格納されるパスとして指定された場所含む外部テーブルが作成されます。 table_name 自体がテーブル識別子ではなくパスの場合、操作は失敗します。 path は文字列リテラルである必要があります。

CREATE TABLE CLONE は、データ移行、データ アーカイブ、機械学習フローの再現、短期の実験、データ共有など、複雑な操作に使用できます。 「Azure Databricks でテーブルを複製する」を参照してください。