CREATE CATALOG
適用於: Databricks SQL
Databricks Runtime 10.4 LTS 及後續版本
僅限 Unity Catalog
建立具有指定名稱的目錄。 如果已有相同名稱的目錄存在,則會擲回例外狀況。
當您建立 FOREIGN
目錄時,系統會填入驗證使用者可以看到的所有架構及其數據表。
語法
CREATE CATALOG [ IF NOT EXISTS ] catalog_name
[ USING SHARE provider_name . share_name |
MANAGED LOCATION location_path |
COMMENT comment |
OPTIONS ( { option_name = option_value } [ , ... ] ) ] [...]
CREATE FOREIGN CATALOG [ IF NOT EXISTS ] catalog_name
USING CONNECTION connection_name
[ COMMENT comment ]
OPTIONS ( { option_name = option_value } [ , ... ] )
參數
FOREIGN
適用於:
Databricks SQL
Databricks Runtime 13.3 LTS 和更新版本
指定從 CONNECTION匯入目錄。
IF NOT EXISTS
如果目錄不存在,則建立具有指定名稱的目錄。 如果具有相同名稱的目錄已經存在,則不會發生任何事。
-
要建立的目錄名稱。
使用SHARE provider_name
.
share_name選擇性地指定目錄是以 Delta Sharing 共用為基礎。
-
提供共用之 Delta Sharing 提供者的名稱。
-
provider_name所提供的共享名稱。
-
受控位置location_path
選擇性地指定與中繼存放區根記憶體位置不同的目錄受控儲存位置路徑。 此路徑必須在外部位置組態中定義,而且您必須具有外部位置組態的
CREATE MANAGED STORAGE
權限。 您可以使用外部位置組態或子路徑中定義的路徑 (換句話說,'abfss://container@storageaccount.dfs.core.windows.net/finance'
或'abfss://container@storageaccount.dfs.core.windows.net/finance/product'
)。 在 Databricks SQL 或執行 Databricks Runtime 11.3 LTS 和更新版本之叢集上受支援。另請參閱 使用受控資料表 和 建立 Unity 目錄中繼存放區。
使用連線 connection_name
指定來源目錄所在的連接。
comment
選擇性常
STRING
值。 目錄的描述。OPTIONS
設定連線時識別目錄所需的連線類型特定參數。
option_name
Option 鍵。 該鍵可以包含一或多個以點分隔的識別碼,或是
STRING
常值。Option 鍵必須是唯一的,而且區分大小寫。
option_value
該選項的值。 該值必須是
BOOLEAN
、STRING
、INTEGER
或DECIMAL
常數運算式。 此值也可能是SECRET
SQL 函式的呼叫。 例如,value
的password
可能會組成secret('secrets.r.us', 'postgresPassword')
,而不是輸入常值密碼。
範例
-- Create catalog `customer_cat`. This throws exception if catalog with name customer_cat
-- already exists.
> CREATE CATALOG customer_cat;
-- Create catalog `customer_cat` only if catalog with same name doesn't exist.
> CREATE CATALOG IF NOT EXISTS customer_cat;
-- Create catalog `customer_cat` only if catalog with same name doesn't exist, with a comment.
> CREATE CATALOG IF NOT EXISTS customer_cat COMMENT 'This is customer catalog';
-- Create a catalog from a Delta Sharing share.
> CREATE CATALOG customer_cat USING SHARE cdc.vaccinedata;
-- Create a catalog with a different managed storage location than the metastore's.
> CREATE CATALOG customer_cat MANAGED LOCATION 'abfss://container@storageaccount.dfs.core.windows.net/finance';
-- Create a foreign catalog linked to postgresdb at postgresql_connection
> CREATE FOREIGN CATALOG postgresql_catalog
USING CONNECTION postgresql_connection
OPTIONS (database 'postgresdb');