CREATE TABLE CLONE
適用於: Databricks SQL Databricks Runtime
將來源 Delta 資料表複製到特定版本的目標目的地。 複製可以是深層或淺層:從來源複製數據進行深層複製,而淺層複製則不會。 您也可以複製來源 Parquet 和 Iceberg 資料表。 請參閱 以累加方式將 Parquet 和 Iceberg 數據表複製到 Delta Lake。
在 Databricks SQL 和 Databricks Runtime 13.3 LTS 和更新版本中,您可以搭配 Unity 目錄受控數據表使用淺層複製。 在 Databricks Runtime 12.2 LTS 和以下版本中,Unity 目錄中不支援淺層複製。 請參閱 Unity 目錄數據表的淺層複製。
重要
淺層和深層複製之間有重要的差異,可判斷其最佳使用方式。 請參閱 在 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]
參數
如果不存在
如果指定,則如果
table_name
已經存在,則會忽略 語句。[CREATE OR]取代
如果
CREATE OR
指定 ,則會在數據表存在時加以取代,如果數據表不存在,則會加以取代。table_name
沒有CREATE OR
必須存在。-
要建立之 Delta Lake 數據表的名稱。 名稱不得包含 時態規格。 如果名稱不合格,則會在目前的架構中建立數據表。
table_name
除非已指定 或IF NOT EXISTS
,否則REPLACE
不得已經存在。 淺層複製或深層複製
如果您指定
SHALLOW CLONE
Azure Databricks 會建立源數據表定義的複本,但參考源數據表的檔案。 當您指定DEEP CLONE
[預設] Azure Databricks 時,將會完整、獨立的源數據表複本。-
要複製之 Delta Lake 數據表的名稱。 名稱可能包含 時態規格。
-
選擇性地設定一或多個使用者定義的屬性。
位置路徑
選擇性地建立外部數據表,並提供的位置做為儲存數據的路徑。 如果
table_name
本身是路徑,而不是數據表標識符,作業將會失敗。path
必須是 STRING 常值。
範例
您可以 CREATE TABLE CLONE
用於複雜的作業,例如數據遷移、數據封存、機器學習流程重現、短期實驗和數據共用。 請參閱 在 Azure Databricks 上複製數據表。