Создание хранилища метаданных 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 (ранее Azure Active Directory) global Администратор istrator в то время, когда они впервые войдите в консоль учетной записи Azure Databricks. При первом входе этот пользователь становится администратором учетной записи Azure Databricks и больше не требует роли Глобального Администратор istrator Microsoft Entra ID для доступа к учетной записи 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. Создайте контейнер хранилища, который будет содержать управляемые таблицы и данные тома на уровне хранилища метаданных.

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

    Это расположение хранилища метаданных по умолчанию можно переопределить на уровнях каталога и схемы. См . раздел "Управляемое хранилище".

    Запишите универсальный код ресурса (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:// добавляется автоматически.

    • (Необязательно) Доступ к идентификатору Подключение or: введите идентификатор ресурса соединителя доступа 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.

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

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

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

См. также управляемое хранилище.

Требования

  • Необходимо подключить хотя бы одну рабочую область к хранилищу метаданных каталога Unity.
  • Необходимые разрешения Azure Databricks:
    • Чтобы создать внешнее расположение, необходимо быть администратором хранилища метаданных или пользователем с CREATE EXTERNAL LOCATION привилегиями.CREATE STORAGE CREDENTIAL
    • Чтобы добавить расположение хранилища в определение хранилища метаданных, необходимо быть администратором учетной записи. Инструкции по включению роли администратора учетной записи в учетной записи см. в разделе "Установка первого администратора учетной записи".
  • Необходимые разрешения клиента Azure:
    • Разрешение на создание учетной записи хранения для использования с Azure Data Lake Storage 2-го поколения. Эта учетная запись хранения должна иметь иерархическое пространство имен. См. статью Создание учетной записи хранения для использования с Azure Data Lake Storage 2-го поколения.
    • Разрешение на создание нового ресурса для хранения управляемого удостоверения, назначаемого системой. Для этого необходимо быть участником или владельцем группы ресурсов в любой подписке в арендаторе.

Шаг 1. Создание расположения хранилища

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

Шаг 2. Создание внешнего расположения в каталоге Unity

На этом шаге вы создадите внешнее расположение в каталоге Unity, которое ссылается на только что созданный путь ADLS 2-го поколения.

  1. Создайте учетные данные хранения.

    Учетные данные хранилища будут представлять управляемое удостоверение Azure, созданное на шаге 1. Создание расположения хранилища.

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

  2. Создайте внешнее расположение, которое ссылается на учетные данные хранилища, созданные на предыдущем шаге, и контейнер хранилища ADLS 2-го поколения, созданный на шаге 1. Создание расположения хранилища.

    Следуйте инструкциям из статьи "Создание внешнего расположения для подключения облачного хранилища к Azure Databricks"

  3. Предоставьте себе привилегии CREATE MANAGED STORAGE во внешнем расположении.

    1. Щелкните имя внешнего расположения, чтобы открыть область сведений.
    2. На вкладке "Разрешения" нажмите кнопку "Предоставить".
    3. В диалоговом окне "Предоставление"<external location>выберите себя в поле "Субъекты" и выберите CREATE MANAGED STORAGE.
    4. Нажмите кнопку "Предоставить".

Шаг 3. Добавление расположения хранилища в хранилище метаданных

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

  1. Войдите в консоль учетной записи с правами администратора учетных записей.

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

  3. Щелкните имя хранилища метаданных.

  4. Убедитесь, что вы являетесь Администратор хранилища метаданных.

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

  5. На вкладке "Конфигурация" рядом с путьом ADLS 2-го поколения нажмите кнопку "Задать".

  6. В корневом диалоговом окне "Задать хранилище метаданных" введите путь ADLS 2-го поколения, который использовался для создания внешнего расположения, и нажмите кнопку "Обновить".

    Вы не можете изменить этот путь после его установки.

Удаление хранилища метаданных

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

Предупреждение

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

Данные и метаданные управляемой таблицы удаляются автоматически по прошествии 30 дней. На данные внешней таблицы в облачном хранилище не влияет удаление хранилища метаданных.

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

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