CREATE CATALOG

Область применения:отмечен Databricks SQL отмечен Databricks Runtime 10.4 LTS и более поздней версии отмечен только для каталога Unity

Создает каталог с указанным именем. Если каталог с тем же именем уже существует, создается исключение.

При создании каталога FOREIGN он будет заполнен всеми схемами и их таблицами, видимыми для пользователя проверки подлинности.

Important

При установке параметров каталога, которые несут учетные данные, такие как пароль или маркер, чтобы обеспечить их безопасность, укажите значение, используя secret функцию, а не ввод литерального значения непосредственно в предложении OPTIONS . Это позволяет ссылать на секрет, хранящийся в секретной службе Databricks , а не включать значение учетных данных в инструкцию.

Синтаксис

CREATE CATALOG [ IF NOT EXISTS ] catalog_name
    [ USING SHARE provider_name . share_name |
      MANAGED LOCATION location_path |
      RETAIN DROPPED FOR number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS } |
      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 } [ , ... ] )

Параметры

  • ИНОСТРАННЫЙ

    Область применения:флажок Databricks SQL флажок Databricks Runtime 13.3 LTS и выше

    Указывает, что каталог импортируется из CONNECTION.

  • ЕСЛИ НЕ СУЩЕСТВУЕТ

    Создает каталог с заданным именем, если он не существует. Если каталог с тем же именем уже существует, ничего не произойдет.

  • catalog_name

    Имя создаваемого каталога.

  • ИСПОЛЬЗОВАНИЕ provider_name.share_name

    При необходимости указывает, что каталог основан на общей папке OpenSharing.

    • provider_name

      Имя поставщика OpenSharing, который предоставил общую папку.

    • share_name

      Имя доли, предоставленное поставщиком 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 для Delta Lake и Apache Iceberg и создание хранилища метаданных каталога Unity.

  • СОХРАНЕНИЕ УДАЛЕНО ДЛЯ номера { ЧАС | ЧАСЫ | DAY | DAYS | НЕДЕЛЯ | НЕДЕЛИ }

    Применяется к:check помечено да Databricks Runtime 17.3 и выше , чтобы проверить только каталог Unity.

    Important

    Эта функция доступна в общедоступной предварительной версии.

    При необходимости задает период восстановления для удаленных управляемых таблиц в каталоге, период, в течение которого удаленные таблицы можно восстановить с помощью UNDROP TABLE команды. Если значение не указано, значение по умолчанию — 7 дней. Значение должно составлять 0 часов (для отключения восстановления) или от 7 до 30 дней включительно.

    Установка периода восстановления в 0 означает, что удаленные таблицы недоступны для восстановления, UNDROP а файлы данных удаляются из облачного хранилища в течение 48 часов.

    Если период восстановления также задан в дочерней схеме, параметр уровня схемы имеет приоритет для таблиц в этой схеме. Этот параметр применяется только к таблицам, удаленным после настройки периода восстановления. После окончания периода восстановления файлы данных для управляемых таблиц удаляются из облачного хранилища в течение 48 часов.

    Не поддерживается для внешних или общих каталогов. См. также раздел "Удалить управляемую таблицу".

  • ИСПОЛЬЗОВАНИЕ ПОДКЛЮЧЕНИЯ connection_name

    Указывает подключение, в котором находится исходный каталог.

  • комментарий

    Необязательный литерал STRING. Описание каталога.

  • СОРТИРОВКА ПО УМОЛЧАНИЮ default_collation_name

    Применимо к:отмечено Databricks SQL отмечено Databricks Runtime 17.1 и более поздние версии.

    При необходимости определяет параметры сортировки по умолчанию для объектов, определенных в каталоге. Если значение сортировки по умолчанию не указано, будет использоваться UTF8_BINARY.

  • ПАРАМЕТРЫ

    Задает параметры конкретного типа подключения, необходимые для идентификации каталога в соединении.

    • option_name

      клавиша Option. Ключ может состоять из одного или нескольких идентификаторов, разделенных точкой, или STRING литерального значения.

      Ключи параметров должны быть уникальными и чувствительны к регистру.

    • option_value

      Значение параметра. Значение должно быть выражением BOOLEAN, STRINGINTEGERили DECIMALконстантой.

Примеры

-- 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 catalog with a case insesnitive and accent insensitive default collation.
> CREATE CATALOG customer_cat DEFAULT COLLATION UNICODE_CI_AI;

-- Create a catalog with a 30-day recovery period for dropped managed tables.
> CREATE CATALOG customer_cat RETAIN DROPPED FOR 30 DAYS;

-- Create a foreign catalog linked to postgresdb at postgresql_connection
> CREATE FOREIGN CATALOG postgresql_catalog
     USING CONNECTION postgresql_connection
     OPTIONS (database 'postgresdb');