Создание хранилища метаданных Unity Catalog
В этой статье показано, как создать хранилище метаданных каталога Unity и связать его с рабочими областями.
Внимание
Для рабочих областей, которые были включены для каталога Unity автоматически, инструкции в этой статье не нужны. Databricks начал включать новые рабочие области для каталога Unity автоматически 9 ноября 2023 г. с развертыванием постепенного развертывания между учетными записями. Инструкции, описанные в этой статье, необходимо выполнить только в том случае, если у вас есть рабочая область и у вас еще нет хранилища метаданных в вашем регионе рабочей области. Сведения о том, существует ли хранилище метаданных в вашем регионе, см. в статье автоматическое включение каталога Unity.
Хранилище метаданных — это контейнер верхнего уровня для данных в каталоге Unity. Хранилища метаданных каталога Unity регистрируют метаданные о защищаемых объектах (например, таблицах, томах, внешних расположениях и общих ресурсах) и разрешениях, которые управляют доступом к ним. Каждое хранилище метаданных предоставляет 3-уровневое пространство имен (catalog
.schema
.table
), с помощью которого можно упорядочить данные. Необходимо иметь одно хранилище метаданных для каждого региона, в котором работает ваша организация. Чтобы работать с каталогом Unity, пользователи должны находиться в рабочей области, подключенной к хранилищу метаданных в своем регионе.
Чтобы создать хранилище метаданных, сделайте следующее:
В учетной записи Azure при необходимости создайте расположение хранилища для хранилища метаданных управляемых таблиц и томов.
Сведения, которые помогут вам решить, требуется ли хранилище на уровне метаданных, см. в разделе (Необязательно) Создание хранилища метаданных, а данные физически разделены в хранилище.
В учетной записи Azure создайте управляемое удостоверение Azure или субъект-службу, предоставляющее доступ к этому расположению хранилища.
В Azure Databricks создайте хранилище метаданных, вложите расположение хранилища и назначьте рабочие области в хранилище метаданных.
Примечание.
Помимо использования подходов, описанных в этой статье, вы также можете создать хранилище метаданных с помощью поставщика Databricks Terraform и в частности с помощью ресурса databricks_metastore. Чтобы разрешить Unity Catalog доступ к хранилищу метаданных, используйте databricks_metastore_data_access. Чтобы связать рабочие области с хранилищем метаданных, используйте databricks_metastore_assignment.
Подготовка к работе
Прежде чем начать, ознакомьтесь с основными понятиями каталога Unity, включая хранилища метаданных и управляемое хранилище. См. статью Что такое Unity Catalog?
Кроме того, необходимо убедиться, что выполнены следующие требования для всех шагов установки:
Вы должны быть администратором учетных записей в Azure Databricks.
Первый администратор учетной записи Azure Databricks должен быть глобальным администратором Microsoft Entra ID во время входа в консоль учетной записи Azure Databricks. После первого входа этот пользователь становится администратором учетной записи Azure Databricks и больше не требует роли глобального администратора Идентификатора Майкрософт для доступа к учетной записи Azure Databricks. Первый администратор учетной записи может назначать пользователей в клиенте Идентификатора Microsoft Entra в качестве дополнительных администраторов учетных записей (которые могут назначать больше администраторов учетных записей). Дополнительные администраторы учетных записей не требуют определенных ролей в идентификаторе Microsoft Entra.
Рабочие области, присоединенные к хранилищу метаданных, должны находиться в плане Azure Databricks Premium.
Если вы хотите настроить корневое хранилище на уровне хранилища метаданных, необходимо иметь разрешение на создание следующего файла в клиенте Azure:
- Учетная запись хранения для использования с Azure Data Lake Storage 2-го поколения. См. статью Создание учетной записи хранения для использования с Azure Data Lake Storage 2-го поколения.
- Новый ресурс для хранения управляемого удостоверения, назначаемого системой. Для этого необходимо быть участником или владельцем группы ресурсов в любой подписке в арендаторе.
Шаг 1 (необязательно). Создание контейнера хранилища для управляемого хранилища на уровне метаданных
На этом шаге создается учетная запись хранения и контейнер для хранения данных управляемой таблицы и тома на уровне хранилища метаданных. Чтобы определить, требуется ли хранилище на уровне метаданных, см. раздел (Необязательно) Создание хранилища метаданных на уровне хранилища.
Создание учетной записи хранения Azure Data Lake Storage 2-го поколения.
Эта учетная запись хранения будет содержать управляемые таблицы и тома каталога Unity. Это должна быть учетная запись Azure Data Lake Storage 2-го поколения в том же регионе, что и рабочие области Azure Databricks. См. статью Создание учетной записи хранения для использования с Azure Data Lake Storage 2-го поколения.
Создайте контейнер хранилища, который будет содержать управляемые таблицы и данные тома на уровне хранилища метаданных.
Вы можете создать только одно хранилище метаданных в каждом регионе. Для хранилища метаданных и контейнера хранилища необходимо использовать тот же регион.
Это расположение хранилища метаданных можно переопределить на уровнях каталога и схемы. См. раздел "Указание расположения управляемого хранилища" в каталоге Unity.
Запишите универсальный код ресурса (URI) ADLSv2 для контейнера в следующем формате:
abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/<metastore-name>
В приведенных ниже шагах замените
<storage-container>
этим URI.
Шаг 2 (необязательно). Создайте управляемое удостоверение для доступа к расположению управляемого хранилища
На этом шаге требуется только в том случае, если вы выполнили шаг 1, создайте соединитель доступа Azure Databricks, содержащий управляемое удостоверение и предоставив ему доступ к контейнеру хранилища.
Следуйте инструкциям из руководства по использованию управляемых удостоверений Azure в каталоге Unity для доступа к хранилищу.
Примечание.
Вы можете использовать управляемое удостоверение Azure или субъект-службу в качестве удостоверения, которое предоставляет доступ к контейнеру хранилища метаданных. Databricks настоятельно рекомендует управляемые удостоверения, так как они не требуют хранения учетных данных или смены секретов, и они позволяют подключаться к учетной записи Azure Data Lake Storage 2-го поколения, защищенной брандмауэром хранилища. Если вы хотите использовать субъект-службу, см. статью "Создание управляемого хранилища каталога Unity" с помощью субъекта-службы (устаревшая версия).
Шаг 3. Создание хранилища метаданных и присоединение рабочей области
Для каждого региона Azure Databricks требуется собственное хранилище метаданных каталога Unity.
Создайте хранилище метаданных для каждого региона, в котором работает ваша организация. Каждое из этих региональных хранилищ метаданных можно связать с любым количеством рабочих областей в этом регионе. Каждая связанная рабочая область имеет одинаковое представление данных в хранилище метаданных, а управление доступом к данным можно осуществлять в разных рабочих областях. Доступ к данным можно получить в других хранилищах метаданных с помощью delta Sharing.
Если вы решили создать хранилище на уровне метаданных, хранилище метаданных будет использовать контейнер хранилища и управляемое удостоверение Azure, созданное на предыдущих шагах.
Чтобы создать хранилище метаданных, выполните приведенные далее действия.
Если вы решили создать хранилище на уровне метаданных, убедитесь, что у вас есть путь к контейнеру хранилища и идентификатору ресурса соединителя доступа Azure Databricks, созданному в предыдущей задаче.
Войдите в рабочую область в качестве администратора учетной записи.
Щелкните имя пользователя в верхней строке рабочей области Azure Databricks и выберите "Управление учетной записью".
Войдите в консоль учетной записи Azure Databricks.
Щелкните каталог.
Нажмите кнопку "Создать хранилище метаданных".
Введите следующее:
Name (Имя) — имя для хранилища метаданных.
Region (Регион) — регион развертывания хранилища метаданных.
Он должен находиться в том же регионе, что и рабочие области, которые вы хотите использовать для доступа к данным. Если вы решили создать контейнер хранилища для хранилища метаданных, этот регион также должен быть таким же.
(Необязательно) Путь ADLS 2-го поколения: введите путь к контейнеру хранилища, который будет использоваться в качестве корневого хранилища для хранилища метаданных.
Префикс
abfss://
добавляется автоматически.(Необязательно) Идентификатор соединителя Access: введите идентификатор ресурса соединителя доступа Azure Databricks в формате:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
Нажмите кнопку Создать.
При появлении запроса выберите рабочие области для связи с хранилищем метаданных.
Дополнительные сведения см. в разделе "Включение рабочей области для каталога Unity".
Перенесите роль администратора хранилища метаданных в группу.
Пользователь, создающий хранилище метаданных, также называется администратором хранилища метаданных. Администратор хранилища метаданных может создавать объекты верхнего уровня в хранилище метаданных, например каталоги, и управлять доступом к таблицам и другим объектам. Databricks рекомендует переназначить роль администратора хранилища метаданных группе. См. статью Назначение администратора хранилища метаданных.
Включите управление отправкой данных в управляемые тома Azure Databricks.
Azure Databricks использует общий доступ к ресурсам между источниками (CORS) для отправки данных в управляемые тома в каталоге Unity. Сведения о настройке учетной записи хранения каталога Unity для CORS.