Поделиться через


Настройка каталога Unity и управление ими

В этой статье объясняется, как настроить и использовать каталог Unity для управления данными в рабочей области Azure Databricks. Он предназначен в первую очередь для администраторов рабочих областей, использующих каталог Unity в первый раз. Сведения о настройке каталога Unity с помощью поставщика Databricks Terraform см. в статье Automate Unity Catalog setup using Terraform.

К концу этой статьи у вас будет следующее:

  • Рабочая область, активированная для каталога Unity.
  • Компьютерная система, имеющая доступ к каталогу Unity.
  • Пользователи с разрешением на доступ и создание объектов в каталоге Unity.

Вы также можете ознакомиться с другими вводными статьями:

Примечание.

Если вы хотите перевести существующую неUnity-Catalog рабочую область на Unity Catalog, вы можете воспользоваться UCX, проектом Databricks Labs, который предоставляет набор рабочих процессов и служебных программ для обновления идентификаторов, разрешений и таблиц с целью перехода на Unity Catalog. См. статью "Использование служебных программ UCX" для обновления рабочей области до каталога Unity.

Обзор активации каталога Unity

Чтобы использовать каталог Unity, рабочие области Azure Databricks должны быть настроены таким образом, чтобы они были подключены к хранилищу метаданных, являющемуся верхнеуровневым контейнером для метаданных этого каталога.

Способ настройки каталога Unity, который выбирают администраторы, зависит от того, включена ли рабочая область автоматически для каталога Unity или требуется ручное включение.

автоматическое включение каталога Unity

Databricks начал включать новые рабочие области для каталога Unity автоматически 9 ноября 2023 г. с развертыванием постепенного развертывания между учетными записями. Рабочие области, которые были включены автоматически, имеют следующие свойства:

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

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

  • Администратор хранилища метаданных отсутствует (если используется существующее хранилище метаданных каталога Unity и администратор уже назначен).

  • Отсутствие хранилища на уровне метаданных для управляемых таблиц и управляемых томов (если не используется существующее метахранилище каталога Unity с хранилищем на уровне метаданных).

  • каталог рабочей области, который при первоначальной подготовке называется по названию рабочей области.

    Все пользователи в рабочей области могут создавать ресурсы в схеме default в этом каталоге. По умолчанию этот каталог привязан к рабочей области, что означает, что доступ к нему можно получить только через рабочую область. Автоматическая подготовка каталога пространства работы при создании рабочего пространства постепенно внедряется на учетных записях.

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

Что делать, если моя рабочая область не была автоматически активирована для каталога Unity?

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

Как узнать, включена ли моя рабочая область для каталога Unity?

Чтобы убедиться, что в вашей рабочей области включена поддержка Unity Catalog, попросите администратора рабочей области Azure Databricks или администратора учетной записи проверить это. См. также шаг 1: Убедитесь, что ваша рабочая область включена для каталога Unity.

Как мне узнать, включает ли мое рабочее пространство каталог рабочих пространств ?

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

Примечание.

Каталог рабочей области похож на любой другой каталог в каталоге Unity: администратор рабочей области может изменить его имя, изменить его владение или даже удалить его. Однако сразу после создания рабочей области она имеет имя рабочей области.

Подготовка к работе

Прежде чем начать задачи, описанные в этой статье, ознакомьтесь с основными понятиями каталога Unity, включая хранилища метаданных, роли администратора и управляемое хранилище. См. статью Что такое каталог Unity?.

Кроме того, необходимо убедиться, что выполнены следующие требования:

  • Рабочая область Azure Databricks в плане "Премиум".

  • Следующие роли и привилегии, которые зависят от состояния рабочей области:

    • Администратор рабочей области. Если ваша рабочая область была включена для каталога Unity автоматически при ее создании, необходимо быть администратором рабочей области, чтобы выполнить необходимые задачи.

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

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

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

    Посмотрите Привилегии администратора в каталоге Unity и Автоматическое включение каталога Unity.

Шаг 1: Убедитесь, что рабочая область включена для Unity Catalog

На этом шаге вы определяете, включена ли ваша рабочая область для использования каталога Unity, что означает наличие подключенного к рабочей области хранилища метаданных каталога Unity. Если рабочая область не активирована для Unity Catalog, необходимо активировать её вручную. См. дальнейшие действия, если рабочая область не включена длякаталога Unity.

Чтобы подтвердить, выполните одно из следующих действий.

Использование консоли учетной записи для подтверждения включения каталога Unity

  1. Как администратор учетной записи Azure Databricks войдите в консоль учетной записи.
  2. Щелкните Значок рабочих областейрабочие области.
  3. Найдите рабочую область и проверьте столбец хранилища метаданных. Если имя хранилища метаданных присутствует, это означает, что ваша рабочая область присоединена к хранилищу метаданных Unity Catalog и, следовательно, поддерживает функциональность Unity Catalog.

Запуск SQL-запроса для подтверждения включения каталога Unity

Выполните следующий SQL-запрос в редакторе запросов SQL или записной книжке, подключенной к кластеру, использующего общий или отдельный режим доступа пользователей . См . режимы доступа. Роль администратора не требуется.

SELECT CURRENT_METASTORE();

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

Текущие выходные данные хранилища метаданных

Дальнейшие действия, если рабочая область не поддерживает Unity Catalog

Если рабочая область не поддерживает каталог Unity (подключена к хранилищу метаданных), следующий шаг зависит от того, есть ли хранилище метаданных каталога Unity для рабочей области в вашем регионе.

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

Если ваша рабочая область активирована с Unity Catalog, перейдите к следующему шагу.

Шаг 2. Добавление пользователей и назначение роли администратора рабочей области

Пользователь, создающий рабочую область, автоматически добавляется в качестве пользователя рабочей области с ролью администратора рабочей области (т. е. пользователя в admins локальной группе рабочей области). Администратор рабочей области может добавлять и приглашать пользователей в рабочую область, назначать роль администратора рабочей области другим пользователям и создавать субъекты-службы и группы.

Администраторы учетных записей также могут добавлять пользователей, субъектов-служб и группы в рабочую область. Они могут предоставлять роли администратора учетной записи и администратора хранилища метаданных.

Дополнительные сведения см. в разделе "Управление пользователями".

Это может быть удобно для управления доступом пользователей к Azure Databricks путем настройки подготовки из идентификатора Microsoft Entra. Полные инструкции см. в разделе Синхронизация пользователей и групп из идентификатора Microsoft Entra с помощью SCIM.

Шаг 3. Создание кластеров или хранилищ SQL, которые пользователи могут использовать для выполнения запросов и создания объектов

Для выполнения рабочих нагрузок каталога Unity вычислительные ресурсы должны соответствовать определенным требованиям безопасности. Несоответствующие вычислительные ресурсы не могут получить доступ к данным или другим объектам в каталоге Unity. Хранилища SQL всегда соответствуют требованиям каталога Unity, но некоторые режимы доступа к кластеру не соответствуют требованиям. См . режимы доступа.

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

шаг 4. Предоставление прав пользователям

Чтобы создать объекты и получить доступ к ним в каталогах и схемах каталога Unity, пользователь должен иметь разрешение на это. В этом разделе описаны права пользователя и администратора, предоставленные в некоторых рабочих областях по умолчанию, и описывается предоставление дополнительных привилегий.

Привилегии пользователей по умолчанию

Некоторые рабочие области имеют права пользователя (неадминистратор) по умолчанию при запуске:

  • Если ваша рабочая область была запущена с автоматически подготовленным каталогом рабочих областей , все пользователи рабочей области могут создавать объекты в схеме default этого каталога рабочих областей.

    Чтобы узнать, есть ли у вашей рабочей области каталог рабочей области, ознакомьтесь с Как узнать, включает ли моя рабочая область каталог рабочей области?.

  • Если рабочая область была вручную настроена для каталога Unity, для неё автоматически создается каталог main.

    Пользователи рабочей области имеют права USE CATALOG в каталоге main, который не предоставляет возможность создавать или выбирать из любых объектов в каталоге, но является обязательным условием для работы с любыми объектами в каталоге. Пользователь, создавший хранилище метаданных, владеет каталогом main по умолчанию и может передавать права владения и предоставлять доступ другим пользователям.

    Если хранилище метаданных добавляется после его создания, каталог main не создается.

В других рабочих областях по умолчанию не создаются каталоги, и права для пользователей, не являющихся администраторами, также не активированы. Администратор рабочей области должен создать первый каталог и предоставить пользователям доступ к нему и объектам в нем. Перейдите сразу к Шагу 5: Создание новых каталогов и схем перед выполнением действий в этом разделе.

Привилегии администратора по умолчанию

Некоторые рабочие области имеют права администратора рабочей области по умолчанию при запуске:

  • Если ваша рабочая область была автоматически включена для каталога Unity:
    • Администраторы рабочей области могут создавать новые каталоги и объекты в новых каталогах и предоставлять им доступ.
    • По умолчанию не существует администратора хранилища метаданных.
    • Администраторы рабочей области владеют каталогом рабочей области (если он существует) и могут предоставлять доступ к этому каталогу и любым объектам в нем.
  • Если ваша рабочая область была активирована вручную для Unity Catalog:
    • Администраторы рабочей области по умолчанию не имеют специальных привилегий каталога Unity.
    • Администраторы хранилища метаданных должны существовать и могут создавать любой объект каталога Unity и иметь право на владение любым объектом каталога Unity.

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

Предоставление привилегий

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

Например, чтобы предоставить группе возможность создавать новые схемы в my-catalog, владелец каталога может выполнить следующее в редакторе SQL или записной книжке:

GRANT CREATE SCHEMA ON my-catalog TO `data-consumers`;

Если рабочая область включена для каталога Unity автоматически, администратор рабочей области владеет каталогом рабочей области и может предоставить возможность создавать новые схемы:

GRANT CREATE SCHEMA ON <workspace-catalog> TO `data-consumers`;

Вы также можете предоставить и отозвать привилегии с помощью обозревателя каталогов.

Внимание

Вы не можете предоставить права группам users или admins, локальным для рабочей области. Чтобы предоставить привилегии группам, они должны быть группами на уровне учетной записи.

Дополнительные сведения об управлении привилегиями в каталоге Unity см. в разделе Управление привилегиями в каталоге Unity.

шаг 5. Создание новых каталогов и схем

Чтобы начать использование каталога Unity, необходимо определить по крайней мере один каталог. Каталоги — это основная единица изоляции данных и организации в каталоге Unity. Все схемы и таблицы живут в каталогах, как и тома, представления и модели.

В некоторых рабочих областях нет автоматически подготовленного каталога. Чтобы использовать каталог Unity, администратор рабочей области должен создать первый каталог для таких рабочих областей.

Другие рабочие области имеют доступ к предварительно подготовленному каталогу, к которому пользователи могут получить доступ к началу работы (каталог рабочей области или каталог main в зависимости от того, как ваша рабочая область была включена для каталога Unity). При добавлении дополнительных ресурсов данных и ИИ в Azure Databricks можно создавать дополнительные каталоги для группировки этих ресурсов таким образом, чтобы упростить управление данными логически.

Рекомендации по наилучшему использованию каталогов и схем для организации ваших данных и ИИ-ресурсов смотрите в разделе лучших практик использования Unity Catalog.

Как администратор хранилища метаданных, администратор рабочей области (только для автоматически включенных рабочих областей) или другой пользователь с привилегиями CREATE CATALOG, вы можете создавать новые каталоги. При выполнении выполните следующие действия.

  1. Создайте управляемое хранилище для нового каталога.

    Управляемое хранилище — это выделенное расположение хранилища в учетной записи Azure для управляемых таблиц и управляемых томов. Управляемое хранилище можно назначить метахранилищу, каталогам и схемам. Когда пользователь создает таблицу, данные хранятся в расположении хранилища, самом низком в иерархии. Например, если расположение хранилища определено для хранилища метаданных и каталога, но не схемы, данные хранятся в расположении, определенном для каталога.

    Databricks рекомендует назначать управляемое хранилище на уровне каталога, так как каталоги обычно представляют логические единицы изоляции данных. Если вам удобно, чтобы данные в нескольких каталогах разделяли одно и то же место хранения, вы можете использовать расположение хранилища на уровне метахранилища по умолчанию. Если ваша рабочая область была включена для каталога Unity автоматически, хранилище на уровне метаданных по умолчанию отсутствует. Администратор учетной записи имеет возможность настроить хранилище на уровне метаданных. См. раздел «Указание управляемого хранилища в каталоге Unity» и «Добавление управляемого хранилища в существующий метастор».

    Чтобы назначить управляемое хранилище для каталога, необходимо создать:

    • Учетные данные хранилища.
    • Внешнее расположение , которое ссылается на учетные данные хранилища.

    Общие сведения об этих объектах и инструкциях по их созданию см. в статье Connect to cloud object storage and services using Unity Catalog.

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

    См. раздел Ограничение доступа к каталогу для определенных рабочих областей.

  3. Предоставьте привилегии в каталоге.

Подробные инструкции см. в статье Создание каталогов.

Пример создания каталога

В следующем примере показано создание каталога с управляемым хранилищем, а затем предоставление прав SELECT в каталоге:

CREATE CATALOG IF NOT EXISTS mycatalog
  MANAGED LOCATION 'abfss://mycontainer@<myaccount.dfs.core.windows.net//depts/finance';

GRANT SELECT ON mycatalog TO `finance-team`;

Дополнительные примеры, включая инструкции по созданию каталогов с помощью обозревателя каталогов, см. в разделе Создание каталогов.

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

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

Подробные инструкции см. в разделе "Создание схем".

(Необязательно) Назначение роли администратора хранилища метаданных

Если ваша рабочая область включена для каталога Unity автоматически, роль администратора хранилища метаданных по умолчанию не назначается. Администраторы хранилища метаданных имеют некоторые привилегии, которые не имеют администраторы рабочей области.

Возможно, вам потребуется назначить администратора хранилища метаданных, если вам нужно:

Подробные сведения о роли администратора хранилища метаданных и инструкциях по его назначению см. в разделе "Назначение администратора хранилища метаданных".

перевод таблиц в метахранилище Hive к таблицам каталога Unity

Если ваша рабочая область использовалась до того, как была активирована для каталога Unity, она, скорее всего, имеет хранилище метаданных Hive, содержащее данные, которые вы хотите продолжать использовать. Databricks рекомендует перенести таблицы, управляемые хранилищем метаданных Hive, в хранилище метаданных каталога Unity.

См. обновите таблицы и представления Hive до каталога Unity и используйте служебные программы UCX для обновления рабочей области до каталога Unity.

(Необязательно) Продолжайте работать с хранилищем метаданных Hive

Если в рабочей области есть хранилище метаданных Hive, содержащее данные, которые вы хотите продолжать использовать, и вы решили не следовать рекомендациям, чтобы обновить таблицы, управляемые хранилищем метаданных Hive, до хранилища метаданных каталога Unity, вы можете продолжать работать с данными в хранилище метаданных Hive вместе с данными в хранилище метаданных каталога Unity.

Хранилище метаданных Hive представлено в интерфейсах каталога Unity в виде каталога с именем hive_metastore. Чтобы продолжить работу с данными в хранилище метаданных Hive, не обновляя запросы, чтобы указать каталог hive_metastore, можно задать каталог рабочей области по умолчанию для hive_metastore. См. Управление каталогом по умолчанию.

В зависимости от того, когда рабочая область была включена для Unity Catalog, каталог по умолчанию уже может быть создан как hive_metastore.

(Необязательно) Создание хранилища метаданных на уровне хранилища

Хотя Databricks рекомендует создать отдельное управляемое расположение хранилища для каждого каталога в хранилище метаданных (и сделать то же самое для схем), вместо этого можно создать управляемое расположение на уровне хранилища метаданных и использовать его в качестве хранилища для нескольких каталогов и схем.

Если требуется хранилище на уровне метаданных, необходимо также назначить администратора хранилища метаданных. См . (необязательно) Назначение роли администратора хранилища метаданных.

Хранилище на уровне метастора требуется только в том случае, если вы используете интеграцию с партнерскими продуктами Databricks, которая основывается на личных промежуточных локациях (устаревший).

Дополнительные сведения об иерархии управляемых расположений хранения см. в разделе "Данные" физически разделены в хранилище.

Дополнительные сведения о добавлении управляемого хранилища в хранилища метаданных, в которых оно отсутствует, см. в статье Добавление управляемого хранилища в существующее хранилище метаданных.

Примечание.

Большинство рабочих областей, которые были включены для Unity Catalog до 9 ноября 2023 года, имеют корень хранилища на уровне метахранилища.

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