ALTER SCHEMA

Область применения:отмечено Databricks SQL отмечено Databricks Runtime

Изменяет владельца схемы, изменяет расположение управляемого хранилища схемы, задает поведение прогнозной оптимизации , изменяет метаданные, связанные с схемой, задав DBPROPERTIESпериод восстановления для удаленных управляемых таблиц. Указанные значения свойств переопределяют любое существующее значение с тем же именем свойства.

Хотя использование SCHEMA и DATABASE является взаимозаменяемым, лучше использовать SCHEMA.

Permissions

Чтобы изменить схему в Unity Catalog, вы должны иметь MANAGE право на схему или быть её владельцем, а также USE CATALOG в каталоге, где находится схема.

Для иерархии объектов владелец родительского каталога и пользователей с MANAGE родительским каталогом также может выполнять эту операцию.

Синтаксис

ALTER SCHEMA schema_name
    { DEFAULT COLLATION default_collation_name |
      SET DBPROPERTIES ( { key = val } [, ...] ) |
      [ SET ] OWNER TO principal
      SET TAGS ( { tag_name = tag_value } [, ...] ) |
      UNSET TAGS ( tag_name [, ...] ) |
      { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION |
      SET MANAGED LOCATION location |
      [ SET ] RETAIN DROPPED TO number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS } }

Параметры

  • schema_name

    Имя схемы, подлежащей изменению. Если схема не найдена, Azure Databricks вызывает ошибку SCHEMA_NOT_FOUND.

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

    Применяется к:check помеченный да флажок Databricks SQL помечен да Databricks Runtime 17.1 и более поздних версий

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

  • DBPROPERTIES ( key = val [, ...] )

    Свойства схемы, которые необходимо задать или отменить.

  • [ SET ] ВЛАДЕЛЕЦ К главный

    Передает право собственности на схему principal.

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

    SET разрешено в качестве необязательного ключевого слова.

  • теги SET ( { tag_name = tag_value } [, ...] )

    Примените теги к схеме. Необходимо иметь USE SCHEMA, чтобы применить тег к схеме.

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

  • ОТМЕНА ТЕГОВ ( имя_тега [, …] )

    Удалите теги из схемы. Чтобы удалить тег из схемы, вам необходимо иметь доступ к USE SCHEMA.

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

  • tag_name

    Литерал STRING. tag_name должен быть уникальным в схеме.

  • tag_value

    Литерал STRING.

  • { ВКЛЮЧИТЬ | ВЫКЛЮЧИТЬ | НАСЛЕДОВАТЬ } ПРОГНОЗНУЮ ОПТИМИЗАЦИЮ

    применяется:отмечено Databricks SQL отмечено Databricks Runtime 12.2 LTS и выше отмечено только Unity Catalog

    Изменяет схему на нужный параметр прогнозной оптимизации. По умолчанию при создании схем поведение заключается в том, чтобы INHERIT из каталога. По умолчанию новые объекты, созданные в схеме, наследуют параметр от схемы.

    Если схема изменена, поведение будет каскадно для всех объектов, наследующих прогнозную оптимизацию. Объекты, явно задействованные в прогнозной оптимизации ENABLE или DISABLE, не подвержены влиянию настройки схемы.

    Чтобы задать прогнозную оптимизацию схемы, пользователь должен иметь CREATE разрешение на схему.

    Только схемы в не openSharing управляемые каталоги в каталоге Unity могут быть доступны для прогнозной оптимизации.

  • SET Расположение УПРАВЛЯЕМОГО РАСПОЛОЖЕНИЯ

    Применяется к:check помечено да проверка Databricks SQL с отметкой yes Databricks Runtime 18.1 и выше отмечена только каталог Unity.

    Изменяет расположение управляемого хранилища для стандартной схемы. Новые управляемые таблицы и управляемые тома, созданные в схеме, используют обновленное расположение. Databricks не перемещает существующие объекты.

    • расположение

      Путь к облачному хранилищу для нового управляемого расположения хранилища. Он должен содержаться во внешнем расположении.

  • [ SET ] СОХРАНИТЬ ОТБРОШЕННОЕ ЧИСЛО { ЧАС | ЧАСЫ | DAY | DAYS | НЕДЕЛЯ | НЕДЕЛИ }

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

    Important

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

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

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

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

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

Примеры

-- Creates a schema named `inventory`.
> CREATE SCHEMA inventory;

-- Alters the schema to set properties `Edited-by` and `Edit-date`.
> ALTER SCHEMA inventory SET DBPROPERTIES ('Edited-by' = 'John', 'Edit-date' = '01/01/2001');

-- Verify that properties are set.
> DESCRIBE SCHEMA EXTENDED inventory;
 database_description_item                 database_description_value
 ------------------------- ------------------------------------------
             Database Name                                  inventory
               Description
                  Location    file:/temp/spark-warehouse/inventory.db
                Properties ((Edit-date,01/01/2001), (Edited-by,John))

-- Transfer ownership of the schema to another user
> ALTER SCHEMA inventory OWNER TO `alf@melmak.et`

-- Applies three tags to the schema named `test`.
> ALTER SCHEMA test SET TAGS ('tag1' = 'val1', 'tag2' = 'val2', 'tag3' = 'val3');

-- Removes three tags from the schema named `test`.
> ALTER SCHEMA test UNSET TAGS ('tag1', 'tag2', 'tag3');

-- Enables predictive optimization for objects in schema my_schema
> ALTER SCHEMA my_schema ENABLE PREDICTIVE OPTIMIZATION;

-- Alter the default collation of a schema
> ALTER SCHEMA my_schema DEFAULT COLLATION UNICODE_CI_AI;

-- Change the managed storage location of a schema
> ALTER SCHEMA my_catalog.my_schema SET MANAGED LOCATION 's3://my-bucket/schemas/my_schema/';

-- Set a 14-day recovery period for dropped managed tables in a schema
> ALTER SCHEMA my_catalog.my_schema RETAIN DROPPED TO 14 DAYS;

-- Set a 7-day recovery period (overrides any catalog-level setting)
> ALTER SCHEMA my_catalog.my_schema SET RETAIN DROPPED TO 7 DAYS;