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 ]
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
创建具有给定名称的目录(如果不存在)。 如果已存在同名目录,则不会执行任何操作。
-
要创建的目录的名称。
USING SHARE provider_name
.
share_name(可选)指定该目录基于 Delta Sharing 共享。
-
提供共享的 Delta Sharing 提供商的名称。
-
provider_name 提供的共享名称。
-
MANAGED LOCATION
'location_path'
(可选)指定目录的托管存储位置路径,该位置不同于元存储的根存储位置。 必须在外部位置配置中定义此路径,并且必须对外部位置配置具有
CREATE MANAGED STORAGE
权限。 可以使用在该外部位置配置中定义的路径,也可以使用子路径(即'abfss://container@storageaccount.dfs.core.chinacloudapi.cn/finance'
或'abfss://container@storageaccount.dfs.core.chinacloudapi.cn/finance/product'
)。 在 Databricks SQL 中或运行 Databricks Runtime 11.3 LTS 及更高版本的群集上受支持。USING CONNECTION connection_name
指定源目录所在的连接。
comment
可选的
STRING
文本。 目录的描述。OPTIONS
设置在连接处标识目录所需的特定于连接类型的参数。
option
选项键。 该键可以由一个或多个以点分隔的标识符或
STRING
文本组成。选项键必须唯一,且区分大小写。
value
选项的值。 该值必须是
BOOLEAN
、STRING
、INTEGER
或DECIMAL
常量表达式。 该值也可以是对SECRET
SQL 函数的调用。 例如,password
的value
可以包含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.chinacloudapi.cn/finance';
-- Create a foreign catalog linked to postgresdb at postgresql_connection
> CREATE FOREIGN CATALOG postgresql_catalog
USING CONNECTION postgresql_connection
OPTIONS (database 'postgresdb');