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


Включение федерации хранилища метаданных Hive для устаревшего хранилища метаданных рабочей области Hive

Важный

Эта функция доступна в общедоступной предварительной версии.

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

Обзор федерации хранилища метаданных Hive см. в разделе : Включение каталога Unity для управления таблицами, зарегистрированными в хранилище метаданных Hive.

Перед началом работы

Просмотрите список служб и функций, поддерживаемых федерацией хранилища метаданных Hive: требования, поддерживаемые функции и ограничения.

Для каждого шага ниже перечислены конкретные требования.

Шаг 1. Подключение каталога Unity к хранилищу метаданных Hive

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

Требования

  • Привилегия CREATE CONNECTION в хранилище метаданных каталога Unity.

Создание подключения

Подключение задает путь и учетные данные для доступа к внешней системе базы данных. Чтобы создать подключение, можно использовать обозреватель каталогов или команду CREATE CONNECTION SQL в записной книжке Azure Databricks или редакторе sql-запросов Databricks.

Заметка

Для создания подключения можно также использовать REST API Databricks или интерфейс командной строки Databricks. См. POST /api/2.1/unity-catalog/connections и команды каталога Unity .

Требуемые разрешения: : администратор хранилища метаданных или пользователь с правами CREATE CONNECTION.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните значок каталога каталога.
  2. На странице быстрого доступа щелкните Добавить данные > Добавить подключение.
  3. Введите удобочитаемое имя подключения.
  4. Выберите тип подключения хранилища метаданных Hive, и тип хранилища метаданныхвнутренний.
  5. (Необязательно) Добавьте комментарий.
  6. Щелкните Создать.

SQL

Выполните следующую команду в записной книжке или редакторе sql-запросов Databricks.

CREATE CONNECTION IF NOT EXISTS <connection-name> TYPE hive_metastore
  OPTIONS (builtin true);

Шаг 2. Создайте внешние расположения для данных в вашем внутреннем устаревшем хранилище метаданных Hive.

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

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

Требования

Требования к разрешениям для облачного хранилища и Azure Databricks см. в разделе «Перед началом работы» в «Создайте внешнее расположение для подключения облачного хранилища к Azure Databricks».

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

Выбор параметров для создания внешнего расположения

Процесс, который Databricks рекомендует для создания внешнего расположения в каталоге Unity, зависит от вашей ситуации:

Включить резервный режим во внешних местоположениях

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

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

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

Вы можете включить резервный режим с помощью обозревателя каталогов или REST API внешних расположений каталога Unity.

необходимые разрешения: владелец внешнего местоположения.

Обозреватель каталогов

  1. В рабочей области Azure Databricks щелкните значок каталога.
  2. На странице быстрого доступа щелкните Внешние данные >.
  3. Выберите внешнее расположение, которое нужно обновить.
  4. Включите переключатель режима резервного копирования и нажмите Включить, чтобы подтвердить.

API (интерфейс программирования приложений)

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

Создание нового внешнего расположения:

curl -X POST -H 'Authorization: Bearer <token>' \
https://<workspace-URL>/api/2.1/unity-catalog/external-locations \
--data
'{
  "name": "fallback_mode_enabled_external_location",
  "url": "abfss://container-name@storage-account.dfs.core.windows.net/external_location_container/url",
  "credential_name": "external_location_credential",
  "fallback": true
  "skip_validation": true
}'

Обновление внешней локации:

curl -X PATCH \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
https://<workspace-URL>/api/2.1/unity-catalog/external-locations/<external-location-name> \
--data
 '{
   "comment": "fallback mode enabled",
   "fallback": true
  }'

Шаг 3. Создание федеративного каталога

На этом шаге вы используете подключение, созданное на шаге 1, для создания федеративного каталога в каталоге Unity, указывающего на внешнее расположение, созданное на шаге 2. Федеративный каталог — это разновидность внешнего каталога, который является защищаемым объектом в Unity Catalog и отражает базу данных или каталог во внешней системе данных, что позволяет выполнять запросы к этим данным в рабочей области Azure Databricks с доступом, управляемым Unity Catalog. В этом случае зеркальный каталог — это ваши данные, зарегистрированные в хранилище метаданных Hive.

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

Требования

требования к разрешениям:

Чтобы создать внешний каталог:

  • Привилегия CREATE CATALOG в хранилище метаданных каталога Unity.
  • Право владения подключением или привилегия CREATE FOREIGN CATALOG на подключение.
  • Чтобы ввести авторизованные пути для внешнего каталога, необходимо иметь привилегию CREATE FOREIGN SECURABLE во внешнем расположении, которое охватывает эти пути. Владельцу внешнего расположения эта привилегия предоставляется по умолчанию.

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

  • Владение каталогом или USE CATALOG

требования к вычислениям:

  • Чтобы создать каталог с помощью обозревателя каталогов, не требуется вычислительных ресурсов.
  • Создание каталога с помощью SQL: Databricks Runtime 13.3 LTS или более поздней версии.
  • Для работы с каталогом: общий кластер в Databricks Runtime 13.3 LTS, 14.3 LTS, 15.1 или более поздней версии.

Создание внешнего каталога

Чтобы создать внешний каталог, можно использовать обозреватель каталогов или команду SQL CREATE FOREIGN CATALOG в записной книжке Azure Databricks или редакторе запросов SQL.

Заметка

Вы также можете использовать API каталога Unity. См. Создать каталог в ссылке на REST API Databricks.

  1. В рабочей области Azure Databricks щелкните значок каталога каталога, чтобы открыть обозреватель каталогов.

  2. На странице быстрого доступа щелкните кнопку "Добавить данные" и выберите "Добавить каталог".

  3. Введите имя каталога и выберите тип иностранного .

  4. Выберите подключение , созданное на шаге 1, из раскрывающегося списка.

  5. В поле Авторизованные пути введите пути к расположениям облачного хранилища, которые вы определили как внешние расположения на шаге 2. Например, abfss://container@storageaccount.dfs.core.windows.net/demo,abfss://container@storageaccount.dfs.core.windows.net/depts/finance.

    Авторизованные пути — это дополнительный уровень безопасности только для федеративных каталогов. См. Что такое авторизованные пути?.

  6. Щелкните Создать.

  7. (Необязательно) Щелкните Настроить, чтобы открыть мастер, который проведет вас через процесс назначения разрешений на каталоге и добавления тегов. Вы также можете выполнить эти действия позже.

    См. раздел Управление привилегиями в каталога Unity и Применение тегов к защищаемым объектам каталога Unity.

  8. (Необязательно) Привязка каталога к определенным рабочим областям.

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

  9. Заполните федеративный каталог метаданными хранилища метаданных Hive.

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

    Выполните следующую команду SQL в записной книжке или редакторе sql-запросов. Элементы в квадратных скобках являются необязательными. Замените значения заполнителей:

    • <catalog-name>: имя каталога в Azure Databricks.
    • <connection-name>: имя объекта подключения, созданного на шаге 1.
    • <path1>,<path2>. Пути к расположениям облачного хранилища, которые вы определили как внешние расположения на шаге 2. Например, abfss://container@storageaccount.dfs.core.windows.net/demo,abfss://container@storageaccount.dfs.core.windows.net/depts/finance. Авторизованные пути — это дополнительный уровень безопасности только для федеративных каталогов. См. Что такое авторизованные пути?.
    CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
    OPTIONS (authorized_paths '<path1>,<path2>');
    

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

См. также Управление и Работа с внешними каталогами.