Подключение к облачному хранилищу объектов и службам с помощью каталога Unity
В этой статье представлен обзор подключений к облачному хранилищу, которые необходимы для работы с данными с помощью каталога Unity, а также сведения о том, как каталог Unity управляет доступом к облачному хранилищу и внешним облачным службам.
Примечание.
Если ваша рабочая область была создана до 9 ноября 2023 г., возможно, она не поддерживает каталог Unity. Администратор учетной записи должен включить каталог Unity для рабочей области. См. Включение рабочей области длякаталога Unity.
Как каталог Unity использует облачное хранилище?
Databricks рекомендует использовать каталог Unity для управления доступом ко всем данным, хранящимся в облачном хранилище объектов. Каталог Unity предоставляет набор средств для настройки безопасных подключений к облачному хранилищу объектов. Эти подключения предоставляют доступ для выполнения следующих действий:
- Прием необработанных данных в лейкхаус.
- Создавайте и читайте управляемые таблицы и управляемые тома неструктурированных данных в облачном хранилище, управляемом Unity Catalog.
- Зарегистрируйте или создайте внешние таблицы, содержащие табличные данные и внешние тома, содержащие неструктурированные данные в облачном хранилище, управляемом с помощью поставщика облачных служб.
- Чтение и запись неструктурированных данных (как тома каталога Unity ).
Чтобы быть более конкретным, каталог Unity использует облачное хранилище двумя основными способами:
- Расположения хранилища по умолчанию (или "управляемые") для управляемых таблиц и управляемых томов (неструктурированные, не табличные данные), которые вы создаете в Databricks. Эти расположения управляемого хранилища можно определить на уровне хранилища метаданных, каталога или схемы. Вы создаете расположения управляемого хранилища в поставщике облачных служб, но их жизненный цикл полностью управляется каталогом Unity.
- Места хранения, где сохраняются внешние таблицы и тома. Это таблицы и тома, доступ к которым из Azure Databricks управляется каталогом Unity, но жизненный цикл данных и макет файлов управляется с помощью поставщика облачных служб и других платформ данных. Как правило, внешние таблицы используются для регистрации больших объемов существующих данных в Azure Databricks или при необходимости записи доступа к данным с помощью средств за пределами Azure Databricks.
Дополнительные сведения об управляемых и внешних таблицах и томах см. в статье Что такое таблицы и представления? и Что такое тома каталога Unity?.
Предупреждение
Не предоставляйте конечным пользователям доступ на уровне хранилища к управляемым таблицам или томам каталога Unity. Это компрометирует безопасность и управление данными.
Предоставление пользователям прямого доступа на уровне хранилища к хранилищу внешнего расположения в Azure Data Lake Storage 2-го поколения не учитывает предоставленные разрешения или аудиты, поддерживаемые каталогом Unity. Прямой доступ будет обходить аудит, линейность и другие функции безопасности и мониторинга в Unity Catalog, включая управление доступом и разрешения. Вы несете ответственность за управление прямым доступом к хранилищу с помощью Azure Data Lake Storage 2-го поколения и обеспечение того, чтобы пользователи имели соответствующие разрешения, предоставленные через Fabric.
Избегайте всех сценариев, которые предоставляют прямой доступ на запись на уровне хранилища для контейнеров, в котором хранятся управляемые таблицы Databricks. Изменение, удаление или развитие объектов непосредственно с помощью хранилища, управляемого каталогом Unity, может привести к повреждению данных.
Какие поставщики облачных хранилищ поддерживаются?
Azure Databricks поддерживает контейнеры Azure Data Lake Storage 2-го поколения и контейнеры Cloudflare R2 в качестве расположений облачного хранилища для ресурсов данных и ИИ, зарегистрированных в каталоге Unity. R2 предназначен в основном для вариантов использования, в которых требуется избежать исходящего трафика данных, таких как разностный общий доступ между облаками и регионами. Дополнительные сведения см. в разделе "Использование реплик Cloudflare R2" или миграции хранилища в R2.
Как каталог Unity управляет доступом к облачному хранилищу?
Для управления доступом к базовому облачному хранилищу, в котором хранятся таблицы и тома, каталог Unity использует защищаемый объект, называемый внешним расположением, который определяет путь к расположению облачного хранилища и учетным данным, необходимым для доступа к такому расположению. Эти учетные данные, в свою очередь, определены в защищаемом объекте каталога Unity, который называется учетными данными хранилища. Предоставляя и отзывая доступ к внешним защищаемым ресурсам в Unity Catalog, вы управляете доступом к данным в облачном хранилище. Предоставив и отменив доступ к защищаемым учетным данным хранилища в каталоге Unity, вы управляете возможностью создания объектов внешнего расположения.
Дополнительные сведения см. в статье Управление доступом к облачному хранилищу с помощьюкаталога Unity.
Доступ на основе пути к облачному хранилищу
Хотя каталог Unity поддерживает доступ на основе путей к внешним таблицам и внешним томам, используя URI облачного хранилища, Databricks рекомендует пользователям читать из и записывать все таблицы каталога Unity, используя имена таблиц, а для доступа к данным в томах использовать пути /Volumes
.
тома — это объекты, подлежащие защите, которые большинство пользователей Azure Databricks должны использовать для непосредственного взаимодействия с нетабличными данными в облачном хранилище объектов. См. статью Что такое тома каталога Unity?.
Предупреждение
Если вы обновляете метаданные внешней таблицы, используя клиента, отличного от Databricks, или доступ на основе пути из Databricks, состояние этих метаданных не синхронизируется автоматически с Unity Catalog. Databricks не рекомендует выполнять такие обновления метаданных, но если вы все же выполните одно из них, необходимо запустить MSCK REPAIR TABLE <table-name> SYNC METADATA
, чтобы привести схему в каталоге Unity в актуальное состояние. См. REPAIR TABLE.
рекомендации по облачному хранилищу с каталогом Unity
Azure Databricks требует использования Azure Data Lake Storage 2-го поколения в качестве службы хранилища Azure для данных, обрабатываемых в Azure Databricks с помощью управления каталогом Unity. Azure Data Lake Storage 2-го поколения позволяет отделять затраты на хранение и вычисления и использовать более точное управление доступом, предоставляемое каталогом Unity. Если данные хранятся в OneLake (озере данных Microsoft Fabric) и обрабатываются Databricks, в обход каталога Unity, вы понесете единые затраты на хранение и вычисления. Это может привести к затратам, которые примерно 3x выше для операций чтения и 1,6x выше для операций записи по сравнению с Azure Data Lake Storage 2-го поколения для хранения, чтения и записи данных. Хранилище BLOB-объектов Azure также несовместимо с каталогом Unity.
Функция | Хранилище BLOB-объектов Azure | Azure Data Lake Storage 2-го поколения | OneLake |
---|---|---|---|
Поддерживается каталогом Unity | X | ✓ | X |
Требуется дополнительная покупка емкости Fabric | X | X | ✓ |
Поддерживаемые операции из внешних обработчиков | - Чтение - Запись |
- Чтение - Запись |
— чтение (считывает 3x затраты по сравнению с чтением данных из Azure Data Lake Storage 2-го поколения). — Записи не поддерживаются. Дополнительные сведения см. в документации по OneLake. |
Развертывание | Региональный | Региональный | Глобальный |
Проверка подлинности | Подписанный URL-адрес идентификатора записи | Подписанный URL-адрес идентификатора записи | Идентификатор записи |
События хранилища | ✓ | ✓ | X |
Обратимое удаление | ✓ | ✓ | ✓ |
Управление доступом | RBAC | RBAC, ABAC, ACL | RBAC (только таблица и папка, ярлыки ACL не поддерживаются) |
Ключи шифрования | ✓ | ✓ | X |
Уровни доступа | Онлайн-архив | Горячий, холодный, холодный, архив | Только горячее |
Как каталог Unity управляет доступом к другим облачным службам?
Каталог Unity управляет доступом к службам, не связанным с хранением, с помощью защищаемого объекта, называемого учетными данными службы
Учетные данные службы не предназначены для управления доступом к облачному хранилищу, которое используется в качестве управляемого расположения хранилища каталога Unity или внешнего хранилища. Для этих вариантов использования используйте учетные данные хранения, как описано в Как каталог Unity управляет доступом к облачному хранилищу?.
Подробная информация доступна в следующих статьях:
- Управление доступом к внешним облачным службам с помощью учетных данных службы
- Управление учетными данными службы
- Использовать учетные данные службы Unity Catalog для подключения к внешним облачным службам
Следующие шаги
Если вы только начинаете работу с каталогом Unity в качестве администратора, см. следующие статьи:
Если вы новый пользователь и ваша рабочая область уже активирована для Unity Catalog, см. документацию:
Дополнительные сведения об управлении доступом к облачному хранилищу см. в следующем разделе:
Дополнительные сведения об управлении доступом к облачным службам см. в следующем разделе: