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


Создание хранилища метаданных Unity Catalog

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

Внимание

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

Хранилище метаданных — это контейнер верхнего уровня для данных в каталоге Unity. Хранилища метаданных каталога Unity регистрируют метаданные о защищаемых объектах (например, таблицах, томах, внешних расположениях и общих ресурсах) и разрешениях, которые управляют доступом к ним. Каждое хранилище метаданных предоставляет 3-уровневое пространство имен (catalog.schema.table), с помощью которого можно упорядочить данные. Необходимо иметь одно хранилище метаданных для каждого региона, в котором работает ваша организация. Чтобы работать с каталогом Unity, пользователи должны находиться в рабочей области, подключенной к хранилищу метаданных в своем регионе.

Чтобы создать хранилище метаданных, сделайте следующее:

  1. В учетной записи Azure при необходимости создайте расположение хранилища для хранилища метаданных управляемых таблиц и томов.

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

  2. В учетной записи Azure создайте управляемое удостоверение Azure или субъект-службу, предоставляющее доступ к этому расположению хранилища.

  3. В 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:

Шаг 1 (необязательно). Создание контейнера хранилища для управляемого хранилища на уровне метаданных

На этом шаге создается учетная запись хранения и контейнер для хранения данных управляемой таблицы и тома на уровне хранилища метаданных. Чтобы определить, требуется ли хранилище на уровне метаданных, см. раздел (Необязательно) Создание хранилища метаданных на уровне хранилища.

  1. Создание учетной записи хранения Azure Data Lake Storage 2-го поколения.

    Эта учетная запись хранения будет содержать управляемые таблицы и тома каталога Unity. Это должна быть учетная запись Azure Data Lake Storage 2-го поколения в том же регионе, что и рабочие области Azure Databricks. См. статью Создание учетной записи хранения для использования с Azure Data Lake Storage 2-го поколения.

  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, созданное на предыдущих шагах.

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

  1. Если вы решили создать хранилище на уровне метаданных, убедитесь, что у вас есть путь к контейнеру хранилища и идентификатору ресурса соединителя доступа Azure Databricks, созданному в предыдущей задаче.

  2. Войдите в рабочую область в качестве администратора учетной записи.

  3. Щелкните имя пользователя в верхней строке рабочей области Azure Databricks и выберите "Управление учетной записью".

  4. Войдите в консоль учетной записи Azure Databricks.

  5. Щелкните Значок каталога каталог.

  6. Нажмите кнопку "Создать хранилище метаданных".

  7. Введите следующее:

    • Name (Имя) — имя для хранилища метаданных.

    • Region (Регион) — регион развертывания хранилища метаданных.

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

    • (Необязательно) Путь ADLS 2-го поколения: введите путь к контейнеру хранилища, который будет использоваться в качестве корневого хранилища для хранилища метаданных.

      Префикс abfss:// добавляется автоматически.

    • (Необязательно) Идентификатор соединителя Access: введите идентификатор ресурса соединителя доступа Azure Databricks в формате:

      /subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
      
  8. Нажмите кнопку Создать.

  9. При появлении запроса выберите рабочие области для связи с хранилищем метаданных.

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

  10. Перенесите роль администратора хранилища метаданных в группу.

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

  11. Включите управление отправкой данных в управляемые тома Azure Databricks.

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

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