CREATE CATALOG
применимо: Databricks SQL Databricks Runtime 10.4 LTS и выше Unity Catalog
Создает catalog с указанным именем. Если catalog с тем же именем уже существует, возникает исключение.
При создании FOREIGN
catalog он будет заполнен всеми схемами и их tables, видимыми для аутентифицированного пользователя.
Синтаксис
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 } [ , ... ] )
Parameters
FOREIGN
Область применения: Databricks SQL Databricks Runtime 13.3 LTS и выше
Указывает, что catalog импортируется из CONNECTION.
IF NOT EXISTS
Создает catalog с заданным именем, если его не существует. Если catalog с тем же именем уже существует, ничего не произойдет.
-
Имя создаваемого catalog.
ИСПОЛЬЗОВАНИЕ PROVIDER_NAME SHARE share_name
.
При необходимости указывает, что catalog основан на доле Delta Sharing .
-
Имя поставщика функции разностного общего доступа, который предоставил общую папку.
-
Имя хранилища, указанное поставщиком provider_name.
-
Управляемое расположение location_path
При необходимости указывает путь к управляемому расположению хранилища для catalog, отличного от корневого расположения хранилища метаданных. Этот путь должен быть определен в конфигурации внешнего расположения, и у вас должна
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 и более поздних версий.См. также Работа с управляемыми tables и созданиехранилища метаданных Catalog Unity.
ИСПОЛЬЗОВАНИЕ CONNECTION_NAME ПОДКЛЮЧЕНИЯ
Указывает подключение where исходного catalog находится.
комментарий
Необязательный литерал
STRING
. Описание catalog:OPTIONS
Задает тип соединения parameters, необходимый для идентификации catalog на соединении.
option_name
Ключ параметра. Ключ может состоять из одного или нескольких идентификаторов, разделенных точкой или
STRING
литералом.Ключи параметров должны быть уникальными и чувствительны к регистру.
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');