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

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

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

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

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

Примечание.

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

Обзор включения каталога Unity

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание.

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

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

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

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

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

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

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

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

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

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

    См . сведения о привилегиях администратора в каталоге Unity и автоматическом включении каталога Unity.

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

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

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

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

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

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

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

SELECT CURRENT_METASTORE();

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

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

Дальнейшие действия, если рабочая область не включена для каталога Unity

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Если рабочая область включена для каталога Unity автоматически:
    • Администраторы рабочей области могут создавать новые каталоги и объекты в новых каталогах и предоставлять им доступ.
    • По умолчанию не существует администратора хранилища метаданных.
    • Администраторы рабочей области принадлежат каталогу рабочей области (если есть) и могут предоставлять доступ к такому каталогу и любым объектам в этом каталоге.
  • Если рабочая область включена для каталога Unity вручную:
    • Администраторы рабочей области по умолчанию не имеют специальных привилегий каталога 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.

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

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

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

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

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

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

    Общие сведения об этих объектах и инструкциях по их созданию см. в статье "Подключение к облачному хранилищу объектов и службам с помощью каталога Unity".

  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, каталог по умолчанию может быть уже установлен hive_metastore.

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

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

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

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

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

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

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

Примечание.

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

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