Создание и администрирование схем (баз данных)

В этой статье описано, как создавать и администрировать схемы (базы данных) в каталоге Unity. Схема содержит таблицы, представления, тома, модели и функции. Схемы создаются внутри каталогов.

Требования

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

  • У вас должны быть разрешения в отношении данныхUSE CATALOG и CREATE SCHEMA в родительском каталоге схемы. Эти разрешения вам может предоставить либо администратор хранилища метаданных, либо владелец каталога. Если вы являетесь администратором хранилища метаданных, вы можете предоставить эти привилегии себе.

  • Кластер, используемый для запуска записной книжки для создания схемы, должен использовать режим доступа, совместимый с каталогом Unity. См . режимы доступа.

    Хранилища SQL всегда поддерживают каталог Unity.

Создание схемы

Чтобы создать схему, можно использовать команды каталога Обозреватель или SQL.

Обозреватель каталогов

  1. Войдите в рабочую область, связанную с хранилищем метаданных.
  2. Щелкните Значок каталогакаталог.
  3. В области каталога слева щелкните каталог, в который нужно создать схему.
  4. В области сведений нажмите кнопку "Создать схему".
  5. Присвойте схеме имя и добавьте любой комментарий, который поможет пользователям понять назначение схемы.
  6. (Необязательно) Укажите расположение управляемого хранилища. Требуется привилегия CREATE MANAGED STORAGE в целевом внешнем расположении. См. раздел "Указание расположения управляемого хранилища" в каталоге Unity.
  7. Нажмите кнопку Создать.
  8. Назначьте разрешения для каталога. См. статью Защищаемые объекты и привилегии Unity Catalog.
  9. Нажмите кнопку Сохранить.

SQL

  1. Выполните следующую команду SQL в записной книжке или редакторе SQL Databricks. Элементы в квадратных скобках являются необязательными. Вы можете использовать SCHEMA или DATABASE. Замените значения-заполнители:

    • <catalog-name> — имя родительского каталога для схемы.
    • <schema-name> — имя схемы.
    • <location-path>: необязательный параметр. Требуется дополнительные привилегии. См. раздел "Указание расположения управляемого хранилища" в каталоге Unity.
    • <comment>: необязательное описание или другое примечание.
    • <property-key> = <property-value> [ , ... ]: необязательный параметр. Свойства и значения Spark SQL, заданные для схемы.

    Описание параметров см. в статье CREATE SCHEMA.

    USE CATALOG <catalog>;
    CREATE { DATABASE | SCHEMA } [ IF NOT EXISTS ] <schema-name>
        [ MANAGED LOCATION '<location-path>' ]
        [ COMMENT <comment> ]
        [ WITH DBPROPERTIES ( <property-key = property_value [ , ... ]> ) ];
    

    При необходимости можно опустить инструкцию USE CATALOG и заменить <schema-name> на <catalog-name>.<schema-name>.

  2. Назначьте схеме привилегии. См. статью Защищаемые объекты и привилегии Unity Catalog.

Вы также можете создать схему с помощью поставщика Databricks Terraform и databricks_schema. Список идентификаторов схем можно получить с помощью databricks_schemas

Удаление схемы

Чтобы удалить (или удалить) схему, можно использовать Обозреватель каталога или команду SQL. Чтобы удалить схему, необходимо быть ее владельцем.

Обозреватель каталогов

Вы должны удалить все таблицы в схеме, прежде чем вы сможете удалить ее.

  1. Войдите в рабочую область, связанную с хранилищем метаданных.
  2. Щелкните Значок каталогакаталог.
  3. В области каталога слева щелкните схему, которую вы хотите удалить.
  4. В области сведений щелкните меню с тремя точками в правом верхнем углу и выберите Удалить.
  5. В диалоговом окне "Удалить схему" нажмите кнопку "Удалить".

SQL

Выполните следующую команду SQL в записной книжке или редакторе SQL Databricks. Элементы в квадратных скобках являются необязательными. Замените заполнитель <schema-name>.

Описание параметров см. в статье DROP SCHEMA.

Если вы используете DROP SCHEMA без параметра CASCADE, вы должны удалить все таблицы в схеме, прежде чем сможете удалить ее.

DROP SCHEMA [ IF EXISTS ] <schema-name> [ RESTRICT | CASCADE ]

Например, чтобы удалить схему с именем inventory_schema и ее таблицами:

DROP SCHEMA inventory_schema CASCADE

Следующие шаги

Теперь вы можете добавить таблицы или тома в схему. См. статью "Создание таблиц в каталоге Unity" и "Создание и работа с томами".