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


Что такое Unity Catalog?

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

Примечание.

Каталог Unity также доступен как реализация с открытым кодом. Ознакомьтесь с блогом объявлений и общедоступным репозиторием каталога GitHub каталога GitHub.

Обзор Unity Catalog

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

Схема Unity Catalog

Ключевые функции Unity Catalog:

  • Определите один раз, безопасно везде: каталог Unity предлагает единое место для администрирования политик доступа к данным, применяемых во всех рабочих областях.
  • Модель безопасности, совместимая со стандартами: модель безопасности каталога Unity основана на стандарте ANSI SQL и позволяет администраторам предоставлять разрешения в существующем озере данных с помощью знакомого синтаксиса на уровне каталогов, схем (также называемых базами данных), таблицами и представлениями.
  • Встроенный аудит и происхождение: каталог Unity автоматически записывает журналы аудита на уровне пользователя, записывающие доступ к данным. Каталог Unity также записывает данные происхождения, которые отслеживают создание и использование ресурсов данных на всех языках.
  • Обнаружение данных: каталог Unity позволяет тегировать и документировать ресурсы данных, а также предоставляет интерфейс поиска, помогающий потребителям данных находить данные.
  • Системные таблицы (общедоступная предварительная версия): каталог Unity позволяет легко получать доступ к операционным данным вашей учетной записи, включая журналы аудита, оплачиваемое использование и происхождение.

Объектная модель Unity Catalog

В каталоге Unity все метаданные зарегистрированы в хранилище метаданных. Иерархия объектов базы данных в любом хранилище метаданных каталога Unity делится на три уровня, представленное как трехуровневое пространство имен (catalog.schema.table-etc) при ссылке на таблицы, представления, тома, модели и функции.

Схема модели объектов Unity Catalog

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

Хранилище метаданных — это контейнер верхнего уровня для метаданных в каталоге Unity. Он регистрирует метаданные о ресурсах ИИ и разрешениях, которые управляют доступом к ним. Чтобы рабочая область могла использовать Unity Catalog, к ней должно быть подключено хранилище метаданных Unity Catalog.

У вас должно быть одно хранилище метаданных для каждого региона, в котором есть рабочие области. Как рабочая область присоединена к хранилищу метаданных? См. Разделы справки настройке каталога Unity для моей организации?.

Иерархия объектов в хранилище метаданных

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

Уровень один:

  • Каталоги используются для упорядочивания ресурсов данных и обычно используются в качестве верхнего уровня в схеме изоляции данных. Каталоги часто зеркально отражают организационные подразделения или области жизненного цикла разработки программного обеспечения. См. статью "Что такое каталоги в Azure Databricks?".
  • Защищаемые объекты, не являющиеся данными, такие как учетные данные хранения и внешние расположения, используются для управления моделью управления данными в каталоге Unity. Они также живут непосредственно под хранилищем метаданных. Они подробно описаны в других защищаемых объектах.

Уровень два:

  • Схемы (также известные как базы данных) содержат таблицы, представления, тома , модели ИИ и функции. Схемы упорядочивают ресурсы данных и ИИ в логические категории, которые более детализированные, чем каталоги. Обычно схема представляет один вариант использования, проект или песочницу команды. См. сведения о схемах в Azure Databricks?.

Уровень три:

  • Тома — это логические тома неструктурированных, не табличных данных в облачном хранилище объектов. Тома можно управлять либо с помощью каталога Unity, который управляет полным жизненным циклом и макетом данных в хранилище, либо внешним, а каталог Unity управляет доступом к данным из Azure Databricks, но не управляет доступом к данным в облачном хранилище из других клиентов. См. сведения о томах каталога Unity и управляемых и внешних таблицах и томах.
  • Таблицы — это коллекции данных, упорядоченные по строкам и столбцам. Таблицы можно управлять либо с помощью каталога Unity, управляющего полным жизненным циклом таблицы, либо внешней, с помощью каталога Unity, управляющего доступом к данным из Azure Databricks, но не управлять доступом к данным в облачном хранилище из других клиентов. См. сведения о таблицах и представлениях, а также управляемых и внешних таблицах и томах.
  • Представления сохраняют запросы к одной или нескольким таблицам. См . представление?.
  • Функции — это единицы сохраненной логики, возвращающие скалярное значение или набор строк. См . определяемые пользователем функции в каталоге Unity.
  • Модели — это модели ИИ, упакованные с помощью MLflow и зарегистрированные в каталоге Unity в качестве функций. См. статью "Управление жизненным циклом модели" в каталоге Unity.

Работа с объектами базы данных в каталоге Unity

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

Дополнительные сведения см. в разделе "Объекты базы данных" в Azure Databricks и работе с каталогом Unity и устаревшим хранилищем метаданных Hive.

Другие защищаемые объекты

Помимо объектов базы данных и ресурсов ИИ, содержащихся в схемах, каталог Unity также управляет доступом к данным с помощью следующих защищаемых объектов:

Дополнительные сведения о защищаемых объектах Delta Sharing см. в разделе "Что такое разностный общий доступ?".

Предоставление и отмена доступа к объектам базы данных и другим защищаемым объектам в каталоге Unity

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

Стандартные команды ANSI SQL можно использовать для предоставления и отмены доступа к объектам в каталоге Unity. Например:

GRANT CREATE TABLE ON SCHEMA mycatalog.myschema TO `finance-team`;

Вы также можете использовать обозреватель каталогов, интерфейс командной строки Databricks и ИНТЕРФЕЙСы REST API для управления разрешениями объектов.

Предоставление привилегий с помощью обозревателя каталогов

Сведения об управлении привилегиями в каталоге Unity см. в статье "Управление привилегиями" в каталоге Unity.

Доступ к объектам базы данных по умолчанию в каталоге Unity

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

Роли администратора

Администраторы рабочей области и администраторы учетных записей имеют дополнительные привилегии по умолчанию. Администратор хранилища метаданных является необязательной ролью, необходимой, если вы хотите управлять хранилищем таблиц и томов на уровне хранилища метаданных и удобно, если вы хотите централизованно управлять данными в нескольких рабочих областях в регионе. Дополнительные сведения см. в разделе "Права администратора" в каталоге Unity и (необязательно) Назначение роли администратора хранилища метаданных.

Управляемые и внешние таблицы и тома

Таблицы и тома можно управлять или внешними.

  • Управляемые таблицы полностью управляются каталогом Unity, что означает, что каталог Unity управляет как управлением, так и базовыми файлами данных для каждой управляемой таблицы. Управляемые таблицы хранятся в управляемом каталогом Unity расположении в облачном хранилище. Управляемые таблицы всегда используют формат Delta Lake. Управляемые таблицы можно хранить на уровнях метаданных, каталога или схемы.
  • Внешние таблицы — это таблицы , доступ которых из Azure Databricks управляется каталогом Unity, но жизненный цикл данных и макет файлов управляется с помощью поставщика облачных служб и других платформ данных. Как правило, внешние таблицы используются для регистрации больших объемов существующих данных в Azure Databricks или при необходимости записи доступа к данным с помощью средств за пределами Azure Databricks. Внешние таблицы поддерживаются в нескольких форматах данных. После регистрации внешней таблицы в хранилище метаданных каталога Unity вы можете управлять доступом Azure Databricks к ней и работать с ней так же, как и с управляемыми таблицами.
  • Управляемые тома полностью управляются каталогом Unity, что означает, что каталог Unity управляет доступом к расположению хранилища тома в учетной записи поставщика облачных служб. При создании управляемого тома он автоматически хранится в расположении управляемого хранилища , назначенном содержащей схеме.
  • Внешние тома представляют существующие данные в расположениях хранения, управляемых за пределами Azure Databricks, но зарегистрированные в каталоге Unity для управления доступом и аудита из Azure Databricks. При создании внешнего тома в Azure Databricks необходимо указать его расположение, которое должно находиться в пути, определенном во внешнем расположении каталога Unity.

Databricks рекомендует управляемые таблицы и тома использовать все возможности управления каталогом Unity и оптимизацию производительности.

См. статью "Работа с управляемыми таблицами", "Работа с внешними таблицами" и "Управляемые" и "Внешние тома".

Изоляция данных с помощью управляемого хранилища

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

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

Например, предположим, что у вашей организации есть политика соответствия компании, требующая производственных данных, связанных с персоналом, находиться в контейнере abfss://[email protected]. В каталоге Unity это требование можно достичь, задав расположение на уровне каталога, создав каталог, например hr_prod, и назначив расположение abfss://[email protected]/каталог unity. Это означает, что управляемые таблицы или тома, созданные в hr_prod каталоге (например, с помощью) CREATE TABLE hr_prod.default.table …хранят данные в abfss://[email protected]/каталоге unity. При необходимости можно указать расположения уровня схемы для упорядочивания данных на hr_prod catalog более детальном уровне.

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

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

Привязка каталога рабочей области

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

Примечание.

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

Аудит доступа к данным

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

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

См. сведения о событиях каталога Unity, событиях каталога Unity и мониторинге использования с системными таблицами.

Отслеживание происхождения данных

Каталог Unity можно использовать для сбора происхождения данных среды выполнения в запросах на любом языке, выполняемых в кластере Azure Databricks или хранилище SQL. Происхождение записывается до уровня столбца и включает записные книжки, задания и панели мониторинга, связанные с запросом. Дополнительные сведения см. в статье "Сбор и просмотр происхождения данных с помощью каталога Unity".

Каталог Федерации Lakehouse и Unity

Федерация Lakehouse — это платформа федерации запросов для Azure Databricks. Федерация запросов терминов описывает коллекцию функций, позволяющих пользователям и системам выполнять запросы к нескольким разложенным источникам данных без необходимости переносить все данные в единую систему.

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

См. статью "Что такое Федерация Lakehouse?".

Разностный доступ, Databricks Marketplace и каталог Unity

Delta Sharing — это безопасная платформа для обмена данными и ресурсами ИИ с пользователями за пределами организации, независимо от того, используют ли эти пользователи Databricks. Хотя разностный общий доступ доступен в качестве реализации с открытым исходным кодом, в Databricks он требует, чтобы каталог Unity воспользовался всеми преимуществами расширенных функций. См. раздел "Что такое разностный общий доступ?".

Databricks Marketplace, открытый форум для обмена продуктами данных, основан на разностном совместном использовании, и таким образом, у вас должна быть рабочая область с поддержкой каталога Unity, чтобы быть поставщиком Marketplace. См. раздел "Что такое Databricks Marketplace?".

Разделы справки настроить каталог Unity для моей организации?

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

Как рабочая область присоединена к хранилищу метаданных? Она зависит от учетной записи и рабочей области:

  • Как правило, при создании рабочей области Azure Databricks в регионе в первый раз хранилище метаданных создается автоматически и присоединяется к рабочей области.
  • Для некоторых старых учетных записей администратор учетной записи должен создать хранилище метаданных и назначить рабочие области в этом регионе в хранилище метаданных. Указания см. в статье Создание хранилища метаданных в каталоге Unity.
  • Если у учетной записи уже есть хранилище метаданных, назначенное для региона, администратор учетной записи может решить, следует ли автоматически присоединить хранилище метаданных ко всем новым рабочим областям в этом регионе. См. раздел "Включить автоматическое назначение хранилища метаданных для новых рабочих областей".

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

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

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

Подробные инструкции по настройке см. в разделе "Настройка каталога Unity" и управление ими.

Перенос существующей рабочей области в каталог Unity

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

Миграция включает в себя следующее:

  1. Преобразование любых локальных групп рабочей области в группы уровня учетных записей. Каталог Unity централизованно выполняет управление удостоверениями на уровне учетной записи.
  2. Перенос таблиц и представлений, управляемых в хранилище метаданных Hive в каталог Unity.
  3. Обновите запросы и задания, чтобы ссылаться на новые таблицы каталога Unity вместо старых таблиц хранилища метаданных Hive.

Ниже приведены инструкции по управлению миграцией.

Требования и ограничения каталога Unity

Для каталога Unity требуются определенные типы форматов вычислений и файлов, описанные ниже. Ниже перечислены некоторые функции Azure Databricks, которые не поддерживаются в каталоге Unity во всех версиях среды выполнения Databricks.

Поддержка регионов

Все регионы поддерживают каталог Unity. Дополнительные сведения см. в регионах Azure Databricks.

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

Каталог Unity поддерживается в кластерах под управлением Databricks Runtime 11.3 LTS или более поздней версии. Каталог Unity поддерживается по умолчанию во всех вычислительных версиях хранилища SQL.

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

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

Подробные сведения о функциях каталога Unity в каждой версии среды выполнения Databricks см. в заметках о выпуске.

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

Поддержка формата файлов

Каталог Unity поддерживает следующие форматы таблиц:

Ограничения

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

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

Databricks выпускает новые функциональные возможности, которые регулярно сжимают этот список.

  • Группы, созданные ранее в рабочей области (то есть группы уровня рабочей области), нельзя использовать в инструкциях каталога GRANT Unity. Это позволяет обеспечить согласованное представление групп, которые могут охватывать несколько рабочих областей. Чтобы использовать группы в GRANинструкциях T, создайте группы на уровне учетной записи и обновите любую автоматизацию для управления субъектами или группами (например, SCIM, Okta и Microsoft Entra ID connectors и Terraform), чтобы ссылаться на конечные точки учетных записей вместо конечных точек рабочей области. См . разницу между группами учетных записей и локальными группами рабочей области.

  • Рабочие нагрузки в R не поддерживают использование динамических представлений для обеспечения безопасности на уровне строк или на уровне столбцов для вычислений, работающих под управлением Databricks Runtime 15.3 и ниже.

    Используйте один вычислительный ресурс пользователя с databricks Runtime 15.4 LTS или более поздней версии для рабочих нагрузок в R, которые запрашивают динамические представления. Для таких рабочих нагрузок также требуется рабочая область, которая включена для бессерверных вычислений. Дополнительные сведения см. в разделе "Точное управление доступом" для вычислений отдельных пользователей.

  • Неглубокие клоны не поддерживаются в каталоге Unity для вычислений, работающих под управлением Databricks Runtime 12.2 LTS и ниже. Для создания управляемых таблиц в Databricks Runtime 13.3 LTS и более поздних версий можно использовать мелкие клоны. Их нельзя использовать для создания внешних таблиц независимо от версии Databricks Runtime. См . раздел "Мелкий клон" для таблиц каталога Unity.

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

  • Запись в одну и ту же папку или таблицу Delta Lake из рабочих областей в нескольких регионах может привести к ненадежной работе, если некоторые кластеры обращаются к каталогу Unity, а другие — нет.

  • Пользовательские схемы секционирования, созданные с помощью таких ALTER TABLE ADD PARTITION команд, не поддерживаются для таблиц в каталоге Unity. Каталог Unity может получить доступ к таблицам, используюющим секционирование в стиле каталогов.

  • Режим перезаписи для операций записи DataFrame в каталог Unity поддерживается только для разностных таблиц, но не поддерживаются для файлов других форматов. Пользователь должен иметь CREATE права на родительскую схему и должен быть владельцем существующего объекта или иметь MODIFY привилегии для объекта.

  • Определяемые пользователем Функции Python не поддерживаются в Databricks Runtime 12.2 LTS и ниже. К ним относятся UDAFs, определяемые пользователем функции и Pandas в Spark (applyInPandas и mapInPandas). Скалярные определяемые пользователем функции Python поддерживаются в Databricks Runtime 13.3 LTS и более поздних версиях.

  • В Databricks Runtime 14.1 и ниже в общих кластерах не поддерживаются функции Scala UDFs. Скалярные определяемые пользователем функции scala поддерживаются в Databricks Runtime 14.2 и более поздних версий в общих кластерах.

  • Стандартные пулы потоков Scala не поддерживаются. Вместо этого используйте специальные пулы потоков, org.apache.spark.util.ThreadUtilsнапример org.apache.spark.util.ThreadUtils.newDaemonFixedThreadPool. Однако следующие пулы ThreadUtils потоков в не поддерживаются: ThreadUtils.newForkJoinPool и любой ScheduledExecutorService пул потоков.

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

Модели, зарегистрированные в каталоге Unity, имеют дополнительные ограничения. См . ограничения.

Квоты ресурсов

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

Вы можете отслеживать использование квоты с помощью API-интерфейсов квот ресурсов каталога Unity. См. статью "Мониторинг использования квот ресурсов каталога Unity".