Подключение к облачному хранилищу объектов и службам с помощью каталога Unity
В этой статье представлен обзор подключений к облачному хранилищу, которые необходимы для работы с данными с помощью каталога Unity, а также сведения о том, как каталог Unity управляет доступом к облачному хранилищу и внешним облачным службам.
Примечание.
Если ваша рабочая область была создана до 9 ноября 2023 г., возможно, она не поддерживает каталог Unity. Администратор учетной записи должен включить каталог Unity для рабочей области. См. Включение рабочей области для каталога Unity.
Как каталог Unity использует облачное хранилище?
Databricks рекомендует использовать каталог Unity для управления доступом ко всем данным, хранящимся в облачном хранилище объектов. Каталог Unity предоставляет набор средств для настройки безопасных подключений к облачному хранилищу объектов. Эти подключения предоставляют доступ для выполнения следующих действий:
- Загрузка необработанных данных в лейкхаус.
- Создавайте и читайте управляемые таблицы и управляемые тома неструктурированных данных в облачном хранилище, управляемом Unity Catalog.
- Зарегистрируйте или создайте внешние таблицы, содержащие табличные данные и внешние тома, содержащие неструктурированные данные в облачном хранилище, управляемом с помощью поставщика облачных служб.
- Чтение и запись неструктурированных данных (как тома каталога Unity ).
Чтобы быть более конкретным, каталог Unity использует облачное хранилище двумя основными способами:
- Расположения хранилища по умолчанию (или "управляемые") для управляемых таблиц и управляемых томов (неструктурированные, не табличные данные), которые вы создаете в Databricks. Эти расположения управляемого хранилища можно определить на уровне хранилища метаданных, каталога или схемы. Вы создаёте расположения управляемого хранилища у поставщика облачных услуг, но их жизненный цикл полностью контролируется каталогом Unity.
- Места хранения, где сохраняются внешние таблицы и тома. Это таблицы и хранилища, доступ к которым из Azure Databricks управляется с помощью Unity Catalog, но жизненный цикл данных и структура файлов управляется вашим поставщиком облачных услуг и другими платформами данных. Как правило, внешние таблицы используются для регистрации больших объемов существующих данных в Azure Databricks или при необходимости записи доступа к данным с помощью средств за пределами Azure Databricks.
Дополнительные сведения об управляемых и внешних таблицах и томах см. в статье Что такое таблица? и Что такое тома каталога Unity?.
Предупреждение
Не предоставляйте конечным пользователям доступ на уровне хранилища к управляемым таблицам или томам каталога Unity. Это компрометирует безопасность и управление данными.
Предоставление пользователям, субъектам-службам или управляемым удостоверениям прямого доступа к контейнерам Azure Data Lake Storage Gen2, содержащим данные, управляемые Unity Catalog, обходит Unity Catalog. Это подвергает данные избыточному разрешению, эксплуатации и несанкционированному доступу, затрудняет аудит и увеличивает нагрузку на управление.
Прямой доступ к хранилищу не поддерживается для управляемых таблиц каталога Unity.
Какие поставщики облачных хранилищ поддерживаются?
Azure Databricks поддерживает контейнеры Azure Data Lake Storage 2-го поколения и контейнеры Cloudflare R2 в качестве расположений облачного хранилища для ресурсов данных и ИИ, зарегистрированных в каталоге Unity. R2 предназначен в основном для вариантов использования, в которых нужно избежать платы за исходящий трафик данных, например, Delta Sharing в разных облаках и регионах. Дополнительные сведения см. в разделе "Использование реплик 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 | ✓ |
Поддерживаемые операции внешними движками |
|
|
Дополнительные сведения см. в документации по OneLake. |
Развертывание | Региональный | Региональный | Глобальный |
Проверка подлинности | Подпись общего доступа Entra ID | Общая подпись доступа Entra ID | Entra ID |
События хранилища | ✓ | ✓ | X |
Мягкое удаление | ✓ | ✓ | ✓ |
Управление доступом | RBAC | RBAC, ABAC, ACL | RBAC (только для таблиц и папок, ярлыки ACL не поддерживаются) |
Ключи шифрования | ✓ | ✓ | X |
Уровни доступа | Онлайн-архив | Горячий, тёплый, холодный, архив | Только горячее |
Как каталог Unity управляет доступом к другим облачным службам?
Каталог Unity управляет доступом к службам, не связанным с хранением, с помощью защищаемого объекта, называемого учетными данными службы
Учетные данные службы не предназначены для управления доступом к облачному хранилищу, которое используется в качестве управляемого расположения хранилища каталога Unity или внешнего хранилища. Для этих вариантов использования используйте учетные данные хранения, как описано в Как каталог Unity управляет доступом к облачному хранилищу?.
Подробная информация доступна в следующих статьях:
- Управление доступом к внешним облачным службам с помощью учетных данных службы
- Управление учетными данными службы
- Использовать учетные данные службы Unity Catalog для подключения к внешним облачным службам
Следующие шаги
Если вы только начинаете работу с каталогом Unity в качестве администратора, см. следующие статьи:
Если вы новый пользователь и ваша рабочая область уже активирована для Unity Catalog, см. документацию здесь:
Дополнительные сведения об управлении доступом к облачному хранилищу см. в следующем разделе:
Дополнительные сведения об управлении доступом к облачным службам см. в следующем разделе: