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


Доступ к данным Databricks с помощью внешних систем

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

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

Какой внешний доступ поддерживает Azure Databricks?

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

В следующей таблице представлен обзор форматов поддержки и шаблонов доступа для объектов каталога Unity.

Объект каталога Unity Поддерживаемые форматы Шаблоны доступа
Управляемые таблицы Delta Lake, Айсберг Обмен учетными данными, каталог REST Iceberg, Delta Sharing
Внешние таблицы Delta Lake Обмен учетными данными, каталог REST Iceberg, Delta Sharing, облачные URI
Внешние таблицы CSV, JSON, Avro, Parquet, ORC, текст Облачные URI
Внешние тома Все типы данных Облачные URI

Заметка

Поддержка Iceberg описывает таблицы, созданные в Azure Databricks с использованием Delta Lake, но с включенной функцией чтения Iceberg (UniForm).

Дополнительные сведения об этих объектах каталога Unity см. в следующих статьях:

Выдача учетных данных каталога Unity

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

Чтение таблиц с клиентами Iceberg

Azure Databricks предоставляет клиентам Iceberg доступную только для чтения поддержку таблиц, зарегистрированных в каталоге Unity. Поддерживаемые клиенты включают Apache Spark, Apache Flink, Trino и Snowflake. См. таблицы Read Databricks от клиентов Айсберга.

Совместное использование таблиц только для чтения между доменами

Вы можете использовать Delta Sharing для предоставления доступа только для чтения к управляемым или внешним таблицам Delta в разных доменах и поддерживаемых системах. Программные системы, поддерживающие чтение таблиц Delta Sharing с нулевой копией, включают SAP, Amperity и Oracle. См. раздел Безопасное использование данных и ресурсов ИИ пользователями в других организациях.

Заметка

Вы также можете использовать Delta Sharing для предоставления клиентам или партнерам доступа только для чтения. Разностный общий доступ также поддерживает общий доступ к данным с помощью Databricks Marketplace.

Чтение и запись внешних таблиц Delta

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

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

Заметка

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

Access non-Delta Lake табличные данные с внешними таблицами

Внешние таблицы каталога Unity поддерживают множество форматов, отличных от Delta Lake, включая Parquet, ORC, CSV и JSON. Внешние таблицы хранят все файлы данных в каталогах в расположении облачного хранилища объектов, указанном в облачном URI, предоставленном во время создания таблицы. Другие системы получают доступ к этим файлам данных непосредственно из облачного хранилища объектов.

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

Чтение и запись во внешние таблицы из нескольких систем может привести к проблемам согласованности и повреждению данных, так как никакие гарантии транзакций не предоставляются для форматов, отличных от Delta Lake.

Каталог Unity может не обнаружить новые разделы, записанные во внешние таблицы на основе форматов, отличных от Delta Lake. Databricks рекомендует регулярно выполнять MSCK REPAIR TABLE table_name, чтобы гарантировать, что каталог Unity зарегистрировал все файлы данных, написанные внешними системами.

Доступ к не-табличным данным с внешними накопителями

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

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

Программные интерфейсы, пакеты SDK и другие инструменты предоставляют возможность извлечения файлов из томов и их загрузки в тома. См. раздел Управление файлами в томах.

Заметка

Delta Sharing позволяет делиться томами с другими учетными записями Azure Databricks, но не интегрируется с внешними системами.