CREATE TABLE CLONE
適用対象: Databricks SQL
Databricks Runtime
ソースの Delta テーブルを特定のバージョンの複製先にクローンします。 クローンはディープまたはシャローのいずれかです。ディープ クローンではソースからデータをコピーし、シャロー クローンではコピーしません。 ソースの Parquet テーブルと Iceberg テーブルを複製することもできます。 「Parquet テーブルと Iceberg テーブルを Delta Lake に増分複製する」を参照してください。
Databricks SQL および Databricks Runtime 13.3 LTS 以降では、Unity Catalog マネージド テーブルでシャロー クローンを使用できます。 Databricks Runtime 12.2 LTS 以下では、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
が存在している必要があります。-
作成する Delta Lake テーブルの名前。 この名前には、テンポラル仕様を含めることはできません。 名前が修飾されていない場合、テーブルは現在のスキーマに作成されます。
REPLACE
またはIF NOT EXISTS
が指定されていない限り、table_name
はまだ存在してはなりません。 SHALLOW CLONE または DEEP CLONE
SHALLOW CLONE
を指定すると、Azure Databricks により、ソース テーブルの定義のコピーが作成されますが、ソース テーブルのファイルを参照します。DEEP CLONE
(既定値) を指定すると、Azure Databricks により、ソース テーブルの完全かつ独立したコピーが作成されます。-
クローンする Delta Lake テーブルの名前。 名前には、テンポラル仕様が含まれる場合があります。
-
必要に応じて、1 つ以上のユーザー定義プロパティを設定します。
LOCATION パス
必要に応じて、データが格納されるパスとして指定された場所含む外部テーブルが作成されます。
table_name
自体がテーブル識別子ではなくパスの場合、操作は失敗します。path
は文字列リテラルである必要があります。
例
CREATE TABLE CLONE
は、データ移行、データ アーカイブ、機械学習フローの再現、短期の実験、データ共有など、複雑な操作に使用できます。 「Azure Databricks でテーブルを複製する」を参照してください。