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


Что такое каталоги в Azure Databricks?

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

Каталоги — это первый уровень в трехуровневом пространстве имен каталога Unity (catalog.schema.table-etc). Они содержат схемы, которые, в свою очередь, могут содержать таблицы, представления, тома, модели и функции. Каталоги регистрируются в хранилище метаданных каталога Unity в учетной записи Azure Databricks.

Схема объектной модели каталога Unity, ориентированная на каталог

Как упорядочить данные в каталоги?

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

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

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

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

Дополнительные сведения см. в статье "Что такое объекты базы данных в Azure Databricks?", а данные физически разделены в хранилище.

Привилегии уровня каталога

Так как гранты для любого объекта каталога Unity наследуются дочерними элементами этого объекта, владение каталогом или наличие широких привилегий в каталоге очень мощны. Например, владельцы каталогов имеют все привилегии для каталога и объектов в каталоге, и они могут предоставить доступ к любому объекту в каталоге. Пользователи с SELECT каталогом могут читать любую таблицу в каталоге. Пользователи с CREATE TABLE каталогом могут создавать таблицу в любой схеме в каталоге.

Чтобы применить принцип наименьших привилегий, когда у пользователей есть минимальный доступ, которым они должны выполнять необходимые задачи, обычно предоставляется доступ только к определенным объектам или уровням иерархии, которым требуется пользователь. Но привилегии уровня каталога позволяют владельцу каталога управлять тем, какие владельцы объектов нижнего уровня могут предоставить. Даже если пользователю предоставлен доступ к объекту данных низкого уровня, например таблице, этот пользователь не может получить доступ к этой таблице, если у него нет USE CATALOG прав в каталоге, который содержит таблицу.

Дополнительные сведения см. в разделе "Управление владением объектами каталога Unity", типами привилегий каталога Unity, а также стандартными блоками управления данными и изоляции данных.

Типы каталогов

При создании каталога у вас есть два варианта:

  • Стандартный каталог: типичный каталог, используемый в качестве основного урока для упорядочивания объектов данных в каталоге Unity. Это тип каталога, который рассматривается в этой статье.
  • Внешний каталог: объект каталога Unity, используемый только в сценариях федерации Lakehouse. Внешний каталог отражает базу данных во внешней системе данных, что позволяет выполнять запросы только для чтения в этой системе данных в рабочей области Azure Databricks. См. статью "Что такое Федерация Lakehouse".

Помимо этих двух типов каталогов Azure Databricks подготавливает следующие каталоги автоматически при создании новой рабочей области:

  • hive_metastore каталог. Это репозиторий всех данных, управляемых устаревшим хранилищем метаданных Hive в рабочих областях Azure Databricks. При преобразовании существующей рабочей области каталога, отличной от Unity, в каталог Unity отображаются все объекты, зарегистрированные в устаревшем хранилище метаданных Hive, в каталоге hive_metastore Unity. Сведения о работе с хранилищем метаданных Hive вместе с каталогом Unity см. в статье "Работа с каталогом Unity" и устаревшим хранилищем метаданных Hive. Хранилище метаданных Hive устарело, и все рабочие области Azure Databricks должны перенестися в каталог Unity.
  • Каталог рабочей области: во всех новых рабочих областях этот каталог создается по умолчанию. Как правило, он делится своим именем рабочей области. Если этот каталог существует, все пользователи рабочей области (и только ваша рабочая область) имеют доступ к ней по умолчанию, что делает его удобным местом для пользователей, чтобы попробовать процесс создания и доступа к объектам данных в каталоге Unity. См . шаг 1. Убедитесь, что рабочая область включена для каталога Unity.

Каталог по умолчанию

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

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

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

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

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

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

Дополнительные сведения