Используйте служебные программы UCX для обновления рабочей области до Unity Catalog
В этой статье представлен проект UCXDatabricks Labs, который предоставляет инструменты для обновления рабочей области без UnityCatalog до Unity Catalog.
Примечание.
UCX, как и все проекты в учетной записи GitHub databrickslabs, предоставляются только для изучения и не поддерживаются databricks с соглашениями об уровне обслуживания (соглашения об уровне обслуживания). Он предоставляется как есть. Мы не делаем никаких гарантий любого рода. Не отправляйте запрос в службу поддержки Databricks, связанный с проблемами, возникающими при использовании этого проекта. Вместо этого отправьте файл проблемы с GitHub. Проблемы будут рассмотрены в качестве разрешений на время, но для поддержки нет официальных соглашений об уровне обслуживания.
Проект UCX предоставляет следующие средства миграции и рабочие процессы:
- Рабочий процесс оценки для планирования миграции.
- Рабочий процесс миграции групп поможет обновить членство в группе из рабочей области в учетную запись Databricks и перенести разрешения на новые группы на уровне учетной записи.
- Table рабочий процесс миграции для обновления tables, зарегистрированных в хранилище метаданных Hive рабочей области в хранилище метаданных Unity Catalog. Этот рабочий процесс также помогает перенести расположения хранилища и credentials, необходимые для доступа к ним.
На этой схеме показан общий поток миграции, определяющий рабочие процессы миграции и служебные программы по имени:
Примечание.
Рабочий процесс миграции кода, показанный на схеме, остается в стадии разработки и пока недоступен.
Подготовка к работе
Прежде чем установить UCX и запустить рабочие процессы UCX, среда должна соответствовать следующим требованиям.
Пакеты , установленные на компьютере where, на котором вы запускаете UCX:
Databricks CLI версии 0.213 или более поздней версии. См. установку или update CLIDatabricks.
У вас должен быть файл конфигурации Databricks с профилями конфигурации для рабочей области и учетной записи Databricks.
Python 3.10 или более поздней версии.
Если вы хотите запустить рабочий процесс UCX, определяющий расположения хранилища, используемые Hive tables в рабочем пространстве (рекомендуется, но не обязательно), необходимо установить интерфейс командной строки для поставщика облачных хранилищ (Azure CLI или AWS CLI) на компьютере where, на котором запускаются рабочие процессы UCX.
Сетевой доступ:
- Сетевой доступ с компьютера, на котором выполняется установка UCX, в рабочую область Azure Databricks, которую вы переносите.
- Сетевой доступ к Интернету с компьютера, на котором выполняется установка UCX. Это необходимо для доступа к pypi.org и github.com.
- Сетевой доступ из рабочей области Azure Databricks для pypi.org для скачивания
databricks-sdk
иpyyaml
пакетов.
Роли и разрешения Databricks:
- Роли администратора учетной записи Azure Databricks и администратора рабочей области для пользователя, выполняющего установку UCX. Невозможно запустить установку в качестве субъекта-службы.
Другие предварительные требования Databricks:
Хранилище метаданных Catalog Unity создается для каждого региона, где размещена рабочая область, подлежащая обновлению, причем каждая из этих рабочих областей Azure Databricks подключена к хранилищу метаданных Catalog Unity.
Сведения о том, как определить, есть ли хранилище метаданных Unity Catalog в соответствующих регионах рабочей области, как создать хранилище метаданных, если вы этого не сделали, и как подключить хранилище метаданных Unity Catalog к рабочей области, см. шаге 1. Убедитесь, что рабочая область включена для Unity Catalog в статье установки Unity Catalog. В качестве альтернативы UCX предоставляет программу для назначения Catalogmetastores Unity рабочим областям, которые можно использовать после установки UCX.
Присоединение хранилища метаданных Catalog Unity к рабочей области также позволяет использовать федерацию удостоверений, что позволяет централизовать управление пользователями на уровне учетной записи Azure Databricks. Это также является необходимым условием для использования UCX. См. раздел "Включить федерацию удостоверений".
Если в рабочей области используется внешнее хранилище метаданных Hive (например, AWS Glue) вместо хранилища метаданных Hive по умолчанию, необходимо выполнить некоторые предварительные требования. См . сведения об интеграции внешнего хранилища метаданных Hive в репозитории databrickslabs/ucx.
Необходимо хранилище SQL Pro или Serverless SQL, работающее в рабочей области where, где выполняются рабочие процессы UCX, для отображения отчета, создаваемого рабочим процессом оценки.
Установка UCX
Чтобы установить UCX, используйте интерфейс командной строки Databricks:
databricks labs install ucx
Вас попросят select сделать следующее:
Профиль конфигурации Databricks для рабочей области, которую требуется обновить. Файл конфигурации также должен содержать профиль конфигурации для родительской учетной записи Databricks рабочей области.
Имя базы данных инвентаризации, которая будет использоваться для хранения выходных данных рабочих процессов миграции. Обычно нет проблем с использованием значения select по умолчанию, то есть
ucx
.Хранилище SQL для запуска процесса установки.
list групп, локальных для рабочей области, которые необходимо перенести в группы уровня учетной записи. Если вы оставьте это значение по умолчанию (
<ALL>
), любая существующая группа на уровне учетной записи, имя которой соответствует локальной группе рабочей области, будет рассматриваться как замена этой локальной группы рабочей области и наследует все разрешения рабочей области при запуске рабочего процесса миграции группы после установки.У вас есть возможность изменить сопоставление рабочей области с учетной записью после запуска установщика и перед выполнением миграции группы. См. раздел "Разрешение конфликтов имен групп" в репозитории UCX.
Если у вас есть внешнее хранилище метаданных Hive, например AWS Glue, вы можете подключиться к нему или нет. См . сведения об интеграции внешнего хранилища метаданных Hive в репозитории databrickslabs/ucx.
Следует ли открывать созданную записную книжку README.
После установки она развертывает записную книжку README, панели мониторинга, базы данных, библиотеки, задания и другие ресурсы в рабочей области.
Дополнительные сведения см. в инструкциях по установке в project readme. Вы также можете установить UCX во всех рабочих областях в учетной записи Databricks.
Открытие записной книжки README
Каждая установка создает записную книжку README, которая содержит подробное описание всех рабочих процессов и задач с краткими ссылками на рабочие процессы и панели мониторинга. См. записную книжку Readme.
Шаг 1. Запуск рабочего процесса оценки
Рабочий процесс оценки проверяет совместимость Unity Catalog для удостоверений групп, мест хранения, хранилища credentials, контроля доступа и tables в текущей рабочей области и предоставляет информацию, необходимую для планирования миграции на Unity Catalog. Задачи в рабочем процессе оценки можно выполнять параллельно или последовательно в зависимости от указанных зависимостей. После завершения рабочего процесса оценки панель мониторинга оценки заполняется результатами и общими рекомендациями.
Выходные данные каждой задачи рабочего процесса хранятся в Delta tables в $inventory_database
schema, указанной во время установки. Эти tables можно использовать для дальнейшего анализа и принятия решений с помощью отчета об оценке . Рабочий процесс оценки можно запускать несколько раз, чтобы убедиться, что все несовместимые сущности определены и учитываются перед началом процесса миграции.
Вы можете активировать рабочий процесс оценки из записной книжки README, созданной UCX, и пользовательского интерфейса Azure Databricks (задания > рабочих > процессов [UCX]), или выполнить следующую команду Cli Databricks:
databricks labs ucx ensure-assessment-run
Подробные инструкции см. в разделе "Рабочий процесс оценки".
Шаг 2. Запуск рабочего процесса миграции группы
Рабочий процесс миграции групп обновляет локальные группы рабочей области до групп на уровне учетных записей для поддержки CatalogUnity. Это гарантирует, что соответствующие группы на уровне учетной записи доступны в рабочей области и реплицируют все разрешения. Он также удаляет ненужные группы и разрешения из рабочей области. Задачи в рабочем процессе миграции группы зависят от выходных данных рабочего процесса оценки.
Выходные данные каждой задачи рабочего процесса хранятся в Delta tables в $inventory_database
schema, указанной во время установки. Эти tables можно использовать для дальнейшего анализа и принятия решений. Рабочий процесс миграции группы можно запустить несколько раз, чтобы убедиться, что все группы успешно обновлены и назначены все необходимые разрешения.
Сведения о выполнении рабочего процесса миграции группы см. в созданной UCX записной книжке README и рабочем процессе миграции групп в UCX.
Шаг 3. Запустите рабочий процесс миграции table
Рабочий процесс миграции table обновляет tables из хранилища метаданных Hive в хранилище метаданных Unity Catalog. Внешние tables в хранилище метаданных Hive обновляются до внешних tables в Unity Catalogс помощью SYNC. Управляемые tables в хранилище метаданных Hive, хранящиеся в хранилище рабочих областей (также известном как корневой каталог DBFS), обновляются как управляемые tables в Unity Catalogс помощью DEEP CLONE.
Управляемый Hive tables должен быть в формате Delta или Parquet для обновления. Внешний узел tables Hive должен находиться в одном из форматов данных, перечисленных в документе "Работа с внешними tables".
Выполнение подготовительных команд
Подготовительные задачи для миграции Table включают ряд действий, которые необходимо выполнить до запуска рабочего процесса миграции table. Эти задачи выполняются с помощью следующих команд CLI Databricks:
- Команда
create-table-mapping
создает CSV-файл, который отображает целевой Unity Catalogcatalog, schemaи table на каждый table Hive, который будет обновлен. Перед продолжением рабочего процесса миграции необходимо просмотреть и update файл сопоставления. - Команда
create-uber-principal
, которая создает сервисный принципал с доступом только для чтения ко всем данным, используемым tables в этой рабочей области. Вычислительный ресурс задания рабочего процесса использует этот субъект для обновления tables в рабочей области. Отмена подготовки этого субъекта-службы при завершении обновления. - (Необязательно) Команда
principal-prefix-access
, которая определяет используемые в рабочей области учетные записи хранения и доступ к хранилищу credentials для Hive tables. - (Необязательно) Команда
migrate-credentials
, которая создает хранилище Unity Catalogcredentials из credentials доступа к хранилищу, определяемогоprincipal-prefix-access
. - (Необязательно) Команда
migration locations
, которая создает внешние расположения Unity Catalog на основе мест хранения, определенных рабочим процессом оценки, используя хранилище credentials, созданное при помощиmigrate-credentials
. - (Необязательно) Команда
create-catalogs-schemas
, которая создает Catalogcatalogs Unity и схемы, которые будут содержать обновленные tables.
Дополнительные сведения, включая дополнительные команды и параметры рабочих процессов миграции table, см. в Table командах миграции в UCX readme.
Запуск миграции table
После выполнения подготовительных задач можно запустить процесс миграции table из созданной UCX записной книжки README или из интерфейса рабочей области: Рабочие процессы , Задания >,.
Выходные данные каждой задачи рабочего процесса хранятся в Delta tables в той $inventory_database
schema, которую вы указали во время установки. Эти tables можно использовать для дальнейшего анализа и принятия решений. Возможно, потребуется несколько раз запустить рабочий процесс миграции table, чтобы убедиться, что все tables успешно обновлены.
Полные инструкции по миграции table можно найти в записной книжке readme, созданной UCX, и в рабочем процессе миграции Table в readme UCX.
Дополнительные средства
UCX также включает:
Служебные программы для включения федерации хранилища метаданных Hive, средства интеграции Azure Databricks, позволяющего Unity Catalog управлять tables зарегистрированными в хранилище метаданных Hive:
enable-hms-federation
create-federated-catalog
Федерация хранилища метаданных Hive помогает в миграции, позволяя выполнять рабочие нагрузки как в устаревшем хранилище метаданных Hive, так и в его зеркальной копии в Unity Catalog, упрощая переход на Unity Catalog. Дополнительные сведения об использовании федерации хранилища метаданных Hive в сценарии миграции см. в статье Как использовать федерацию хранилища метаданных Hive во время миграции в Unity Catalog?.
Средства отладки и другие служебные программы помогут вам выполнить миграцию.
Дополнительные сведения см. в записной книжке README, созданной UCX, и в ОКНЕ чтения проекта UCX.
Обновление установки UCX
Проект UCX регулярно обновляется. Чтобы обновить установку UCX до последней версии:
Убедитесь, что UCX установлен.
databricks labs installed Name Description Version ucx Unity Catalog Migration Toolkit (UCX) 0.20.0
Выполните обновление:
databricks labs upgrade ucx
справка Get
Чтобы помочь с интерфейсом командной строки UCX, выполните следующую команду:
databricks labs ucx --help
Чтобы помочь с определенной командой UCX, выполните следующую команду:
databricks labs ucx <command> --help
Чтобы устранить неполадки, выполните приведенные ниже действия.
- Выполните
--debug
любую команду, чтобы включить журналы отладки. - Используйте записную книжку отладки, созданную автоматически UCX.
Чтобы отправить запрос на проблему или функцию, отправьте файл проблемы GitHub.
Заметки о выпуске UCX
См. журнал изменений в репозитории GitHub UCX.