适用于:
 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 |
      DEFAULT COLLATION default_collation_name |
      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 导入目录。
如果不存在
创建具有给定名称的目录(如果不存在)。 如果已存在同名目录,则不会执行任何操作。
- 
要创建的目录的名称。
 USING SHARE provider_name
.share_name(可选)指定该目录基于 Delta Sharing 共享。
- 
提供共享的 Delta Sharing 提供商的名称。
 - 
provider_name 提供的共享名称。
 
- 
 管理的位置 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 及更高版本的群集上受支持。另请参阅 用于 Delta Lake 和 Apache Iceberg 的 Azure Databricks 中的 Unity 目录托管表 ,以及 创建 Unity 目录元存储。
USING CONNECTION connection_name
指定源目录所在的连接。
comment
可选的
STRING文本。 目录的描述。DEFAULT COLLATION default_collation_name
适用于:
 Databricks SQL 
 Databricks Runtime 17.1 及更高版本(可选)为目录中定义的对象定义默认排序规则。 如果未指定默认排序规则,则为
UTF8_BINARY。OPTIONS
设置在连接处标识目录所需的特定于连接类型的参数。
示例
-- 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 catalog with a case insesnitive and accent insensitive default collation.
> CREATE CATALOG customer_cat DEFAULT COLLATION UNICODE_CI_AI;
-- Create a foreign catalog linked to postgresdb at postgresql_connection
> CREATE FOREIGN CATALOG postgresql_catalog
     USING CONNECTION postgresql_connection
     OPTIONS (database 'postgresdb');