Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта страница содержит сведения о Delta Sharing в Azure Databricks, платформе для безопасного обмена данными, которая позволяет делиться данными и ресурсами ИИ в Azure Databricks с пользователями за пределами вашей организации, независимо от того, используют ли они Azure Databricks. Delta Sharing также является основой Databricks Marketplace, открытого форума для обмена продуктами данных, и чистые комнаты, безопасной и конфиденциальной среды, где несколько сторон могут совместно работать с конфиденциальными корпоративными данными.
Delta Sharing также доступен в качестве проекта с открытым исходным кодом, который можно использовать для совместного использования таблиц Delta с других платформ.
Как работает Delta Sharing?
Delta Sharing — это открытый протокол , разработанный Databricks для безопасного обмена данными с другими организациями независимо от используемых вычислительных платформ.
Существует несколько способов передачи данных с помощью Delta Sharing:
Протокол общего доступа Databricks to Databricks, который позволяет совместно использовать данные и ресурсы ИИ из рабочей области с поддержкой каталога Unity пользователям, которые также имеют доступ к рабочей области Databricks с поддержкой каталога Unity.
Этот подход использует сервер Delta Sharing, встроенный в Azure Databricks. Она поддерживает некоторые функции Delta Sharing, которые не поддерживаются в других протоколах, включая общий доступ к записным книжкам, общий доступ к объёмам каталога Unity, совместное использование модели ИИ каталога Unity, управление данными каталога Unity, аудит и отслеживание использования как для поставщиков, так и для получателей. Интеграция с каталогом Unity упрощает настройку и управление для поставщиков и получателей и повышает производительность.
См. раздел «Обмен данными с использованием протокола Delta Sharing Databricks-to-Databricks (для поставщиков)».
Протокол общего доступа Databricks, который позволяет совместно использовать табличные данные, управляемые в рабочей области Databricks с поддержкой каталога Unity, с пользователями на любой вычислительной платформе.
Этот подход использует сервер Delta Share, встроенный в Azure Databricks, и полезен при управлении данными с помощью каталога Unity и хотите поделиться им с пользователями, которые не используют Databricks или не имеют доступа к рабочей области Databricks с поддержкой каталога Unity. Интеграция с каталогом Unity на стороне поставщика упрощает настройку и управление поставщиками.
Реализация управляемого клиентом сервера Delta Sharing с открытым кодом, которая позволяет предоставлять общий доступ от любой платформы к любой платформе, независимо от того, используется ли Databricks или нет.
В документации по Azure Databricks не рассматриваются инструкции по настройке собственного сервера Delta Sharing. См. github.com/delta-io/delta-sharing.
Соединитель SAP Business Data Cloud (BDC) для Azure Databricks, который позволяет обмениваться данными между рабочей областью с поддержкой каталога Unity и учетной записью SAP BDC.
Этот подход использует соединитель SAP BDC, который использует Delta Sharing для доступа к продуктам данных SAP BDC без копирования в реальном времени.
Акции, поставщики и получатели
Основные концепции, лежащие в основе Delta Sharing в Azure Databricks: доли, поставщики и получатели.
Что такое акция?
В Delta Share общая папка — это коллекция таблиц и секций таблиц только для чтения, к которым поставщик хочет предоставить общий доступ одному или нескольким получателям. Если получатель использует рабочую область Databricks с поддержкой каталога Unity, вы также можете включить файлы записных книжек, представления (включая динамические представления, ограничивающие доступ на уровне строк и столбцов), томы каталога Unity и модели каталога Unity в общей папке.
Вы можете добавлять или удалять таблицы, потоковые таблицы, управляемые таблицы Iceberg, представления, материализованные представления, тома, модели и файлы записной книжки из общей папки в любое время, и вы можете в любое время назначить или отозвать доступ получателя данных к общей папке.
В рабочей области с включенным каталогом Unity в Azure Databricks обмен является защищаемым объектом, зарегистрированным в каталоге Unity. Если удалить разделяемый ресурс из хранилища метаданных каталога Unity, все получатели потеряют доступ к нему.
См. Создание и управление долями для Delta Sharing.
Что такое поставщик?
Поставщик — это сущность, которая предоставляет доступ к данным получателю. Если вы являетесь поставщиком и хотите воспользоваться встроенным сервером Databricks Delta Sharing и управлять общими ресурсами и получателями с помощью каталога Unity, вам потребуется по крайней мере одна Azure Databricks рабочая область, которая включена для каталога Unity. Вам не нужно перенести все существующие рабочие области в каталог Unity. Вы можете легко создать новую рабочую область с поддержкой Unity Catalog для ваших нужд в Delta Sharing.
Если получатель находится в рабочей области Databricks с поддержкой Unity Catalog, то поставщик также является защищаемым объектом Unity Catalog, который представляет организацию поставщика и связывает эту организацию с набором разделов.
Что такое получатель?
Получатель — это сторона, которая получает акции от поставщика. В Unity Catalog шар является защищаемым объектом, который представляет организацию и связывает его с учетными данными или идентификатором безопасного общего доступа, позволяющим организации получать доступ к одному или нескольким шарам.
В качестве поставщика данных (sharer) можно определить нескольких получателей для любого хранилища метаданных каталога Unity, однако если требуется предоставить общий доступ к данным из нескольких хранилищ метаданных с определенным пользователем или группой пользователей, необходимо задать получателя отдельно для каждого хранилища метаданных. У получателя может быть доступ к нескольким общим ресурсам.
Если поставщик удаляет получателя из хранилища метаданных каталога Unity, этот получатель теряет доступ ко всем общим папкам, к которым он ранее мог получить доступ.
См. Создайте и управляйте получателями данных для Delta Sharing (обмен данными между Databricks).
Открытый доступ против обмена Databricks с Databricks
В этом разделе описаны два протокола для совместного использования из рабочей области Databricks с включённым Unity Catalog.
Note
В этом разделе предполагается, что поставщик находится в рабочей области Azure Databricks с поддержкой Unity Catalog. Дополнительные сведения о настройке сервера с открытым исходным кодом Delta Sharing для совместного использования из платформы, отличной от Databricks, или рабочей области каталога, отличной от Unity, см. в github.com/delta-io/delta-sharing.
Способ использования Delta Sharing в Azure Databricks зависит от того, с кем они обмениваются данными:
- Общий доступ позволяет обмениваться данными с любым пользователем, независимо от того, имеют ли они доступ к Azure Databricks.
- Databricks-to-Databricks share позволяет предоставлять доступ к данным Azure Databricks пользователям, рабочая область которых присоединена к хранилищу метаданных каталога Unity, отличному от ваших. Databricks-to-Databricks также поддерживает совместный доступ к записным книжкам, томам и моделям, который недоступен в открытом совместном доступе.
Что такое Open Delta Sharing?
Если вы хотите поделиться данными с пользователями за пределами вашей рабочей области Azure Databricks, независимо от того, используют ли они Databricks, вы можете использовать открытое Delta Sharing для безопасного обмена данными. В качестве поставщика данных вы управляете проверкой подлинности с получателем общего доступа с помощью любого из следующих методов:
- Вы создаете долгосрочный токен доступа и безопасно передаете его получателю. Они используют токен для аутентификации и получения доступа на чтение к таблицам, которые вы включили в разделяемые ресурсы, доступ к которым вы им предоставили.
- Вы используете федерацию Open ID Connect (OIDC), предоставляя краткосрочные токены Databricks OAuth получателю в обмен на предоставленные токены JWT, которые поставщик удостоверений получателя передает Databricks.
Получатели могут получить доступ к общим данным с помощью множества вычислительных средств и платформ, включая:
- Azure Databricks
- Apache Spark
- Pandas
- Power BI
Полный список соединителей Delta Share и сведения об их использовании см. в документации по Delta Share .
Что такое Databricks to Databricks Delta Sharing?
Если вы хотите поделиться данными с пользователями, у которых есть рабочая область Databricks, в которой включен Unity Catalog, можно использовать функцию Databricks-to-Databricks Delta Sharing. Обмен данными Databricks-to-Databricks позволяет делиться данными с пользователями в других учетных записях Databricks, независимо от того, находятся ли они на AWS, Azure или GCP. Это также отличный способ безопасно предоставлять общий доступ к данным в разных хранилищах метаданных каталога Unity в собственной учетной записи Databricks. Обратите внимание, что для обмена данными между рабочими областями, подключенными к одному хранилищу метаданных Unity Catalog, не требуется использовать Delta Sharing, поскольку в этом сценарии можно использовать сам Unity Catalog для управления доступом к данным в разных рабочих областях.
Одним из преимуществ общего доступа Databricks to Databricks является то, что получатель общего ресурса не нуждается в маркере для доступа к общей папке, и поставщику не нужно управлять маркерами получателей. Безопасность подключения общего доступа, включая проверку удостоверения личности, аутентификацию и аудит, полностью осуществляется через Delta Sharing и платформу Databricks. Еще одним преимуществом является возможность совместного использования файлов записных книжек Databricks, томов каталога Unity и моделей каталога Unity.
Как администраторы поставщиков настраивают Delta Sharing?
В этом разделе дается обзор того, как поставщики могут включить Delta-обмен и инициировать его из рабочей области Azure Databricks, поддерживающей каталог Unity. Для Delta Sharing с открытым исходным кодом см. github.com/delta-io/delta-sharing.
Обмен данными между хранилищами метаданных в Unity Catalog в пределах одной учетной записи в Databricks всегда активирован. Если вы являетесь поставщиком, который хочет включить Delta Sharing для предоставления данных рабочим областям Databricks в других учетных записях или с клиентами, не относящимися к Databricks, администратор учетной записи Azure Databricks или администратор метахранилища выполняет следующие действия по настройке (на высоком уровне):
Включите Delta Sharing для хранилища метаданных каталога Unity, которое управляет данными, которые вы хотите сделать доступными для общего доступа.
Note
Если вы планируете использовать Delta Sharing для совместного использования данных только с пользователями в других хранилищах метаданных Unity Catalog в вашей учетной записи, вам не нужно включать Delta Sharing в вашем хранилище метаданных. Общий доступ к хранилищу метаданных в одной учетной записи Azure Databricks включен по умолчанию.
Создайте общий доступ, содержащий ресурсы данных, зарегистрированные в метахранилище Unity Catalog.
Если вы предоставляете общий доступ получателю, который не использует Databricks (называемый открытым общим доступом), вы можете включить таблицы в формате Delta. Если вы планируете использовать совместное использование Databricks to Databricks, вы также можете добавить представления, тома каталога Unity, модели каталога Unity и файлы записной книжки в общую папку.
Создайте получателя.
См. Создайте и управляйте получателями данных для Delta Sharing (обмен данными между Databricks).
Если получатель не является пользователем Databricks или не имеет доступа к рабочей области Databricks, включенной для каталога Unity, необходимо использовать открытый общий доступ. Вы можете создавать учетные данные на основе маркеров доступа для этого получателя или использовать федерацию аутентификации OIDC.
Если у получателя есть доступ к рабочей области Databricks, которая включена для каталога Unity, можно использовать общий доступ Databricks to Databricks, а учетные данные на основе маркеров не требуются. Вы запрашиваете идентификатор общего доступа от получателя и используете его для установления безопасного подключения.
Tip
Используйте себя в качестве тестового получателя, чтобы попробовать процесс установки.
Предоставьте получателю доступ к одной или нескольким акциям.
См. раздел "Управление доступом к общим папкам данных Delta Sharing" (для поставщиков).
Note
Этот шаг также может выполняться пользователем без администратора с
USE SHAREUSE RECIPIENTправами иSET SHARE PERMISSIONпривилегиями. Смотрите справочник по привилегиям Unity Catalog.Отправьте получателю сведения, необходимые для подключения к общему ресурсу (только для открытого доступа).
Чтобы обеспечить общий доступ с помощью токенов на предъявителя, используйте защищенный канал для отправки получателю ссылки активации, которая позволяет ему загрузить свои учетные данные, основанные на токенах. См. статью "Отправить получателю сведения о подключении".
Чтобы открыть общий доступ с помощью федерации маркеров OIDC, отправьте созданный URL-адрес портала. См. раздел "Использование федерации Open ID Connect (OIDC) для проверки подлинности общих ресурсов Delta Sharing (открытый общий доступ)".
Для общего доступа Databricks to Databricks данные, включенные в общую папку, становятся доступными в рабочей области Databricks получателя, как только вы предоставите им доступ к общей папке.
Теперь получатель может получить доступ к общим данным.
Как получатели получают доступ к общим данным?
Получатели получают доступ к общим ресурсам данных в формате только для чтения. Общие файлы записных книжек доступны только для чтения, но их можно клонировать, а затем изменить и запустить в рабочей области получателя так же, как и любую другую записную книжку.
Безопасный доступ зависит от модели общего доступа:
Открытый общий доступ (получатель не имеет рабочей области Databricks с поддержкой Unity Catalog) предполагает два варианта:
- В потоке несущих токенов получатель предоставляет учетные данные токена при каждом доступе к данным в инструменте выбора, включая Apache Spark, pandas, Power BI, Databricks и другие. Чтение данных, общих через Delta Sharing, открытый доступ с маркерами носителя.
- В процессе федерации токенов OIDC получатель или его клиентское приложение получает доступ к данным через собственный поставщик удостоверений. См. получение долей Delta Sharing с помощью федерации Open ID Connect (OIDC) в потоке "пользователь — компьютер" (открытый общий доступ) и получение долей Delta Sharing с помощью клиента Python и федерации Open ID Connect (OIDC) в потоке "от машины к машине" (открытый общий доступ).
Databricks-to-Databricks (рабочая область получателя настроена для каталога Unity): получатель получает доступ к данным через Databricks. Они могут использовать каталог Unity для предоставления и запрета доступа другим пользователям в учетной записи Databricks. См. Чтение данных, переданных через Databricks-to-Databricks Delta Sharing (для получателей).
Всякий раз, когда поставщик данных обновляет таблицы данных или тома в собственной учетной записи Databricks, обновления отображаются практически в режиме реального времени в системе получателя. Чтобы узнать, как получить доступ к данным, которыми с вами поделились с помощью Delta Sharing, см. раздел Доступ к данным, которыми с вами поделились с помощью Delta Sharing (для получателей).
Как отслеживать, кто предоставляет общий доступ к общим данным и обращается к ним?
Поставщики данных в рабочих областях Azure Databricks с поддержкой Unity Catalog могут использовать ведение журнала аудита Azure Databricks и системные таблицы для мониторинга создания и изменения долей и получателей, а также отслеживать активность получателей на долях. См. статью "Аудит и мониторинг общего доступа к данным".
Получатели данных, использующие общие данные в рабочей области Databricks, могут использовать ведение журнала аудита Databricks и системные таблицы для понимания доступа к данным. См. статью "Аудит и мониторинг общего доступа к данным".
Распространение томов
Вы можете делиться томами с помощью механизма общего доступа «Databricks-to-Databricks». См. раздел Добавление томов в общую папку (для поставщиков) и Чтение общих данных с помощью Databricks-to-Databricks Delta Sharing (для получателей).
Обмен моделями
Вы можете обмениваться моделями, используя процесс обмена Databricks-to-Databricks. Дополнительные сведения см. в разделах "Добавление моделей в общую папку" (для поставщиков) и "Чтение данных, общих с помощью Databricks-to-Databricks Delta Sharing" (для получателей).
Общий доступ к записным книжкам
Вы можете использовать Delta Sharing, чтобы делиться файлами записных книжек с помощью схемы общего доступа между Databricks. См. статью "Добавление файлов записной книжки в общую папку ( для поставщиков) и чтение общих записных книжек (для получателей).
Ограничение доступа на уровне строки и столбца при совместном использовании представлений
Вы можете делиться динамическими представлениями, которые ограничивают доступ к определенным данным таблицы на основе свойств получателя. См. раздел "Добавление динамических представлений в общую папку" для фильтрации строк и столбцов.
Delta обмен данными и потоковая передача
Delta Sharing поддерживает структурированную потоковую передачу Apache Spark. Поставщик может совместно использовать таблицу с историей или, например, потоковую таблицу, чтобы получатель смог использовать ее в качестве источника структурированной потоковой передачи, постепенно обрабатывая общие данные с малой задержкой. Получатели также могут выполнять запросы с использованием функции перемотки времени Delta Lake на таблицах, общих с историей.
Чтобы узнать, как делиться таблицами с историей, см. Добавление таблиц в общую таблицу. Сведения об использовании общих таблиц в качестве источников потоковой передачи можно найти в разделе Запрос таблицы с помощью структурированной потоковой передачи Apache Spark (для получателей обмена данными Databricks на Databricks) или Доступ к общей таблице с помощью структурированной потоковой передачи Spark (для получателей открытого обмена данными).
Чтобы узнать о том, как делиться потоковыми таблицами, см. раздел Добавление потоковых таблиц в общую папку.
См. также основные понятия структурированной потоковой передачи.
Матрица поддержки функций Delta Lake
Delta Sharing поддерживает большинство функций Delta Lake при совместном использовании таблицы. В этой матрице поддержки перечислены:
- Требования к функциям Delta, которые требуют определенных версий Databricks Runtime, соединителя Delta Sharing с открытым исходным кодом Spark или соединителя Python с открытым исходным кодом Delta Sharing.
- Частично поддерживаемые функции.
| Feature | Provider | Адресат Databricks | Получатель открытого исходного кода |
|---|---|---|---|
| Векторы удаления |
|
|
|
| Сопоставление столбцов |
|
|
|
| Универсальный формат |
|
|
|
| Контрольная точка V2 | Поддерживается с ограничениями | Поддерживается с ограничениями | Поддерживается с ограничениями |
| TimestampNTZ | Supported | Среда выполнения Databricks 14.1+ | Соединитель Delta Sharing Spark 3.3+ |
| Кластеризация жидкости | Поддерживается с ограничениями | Поддерживается с ограничениями | Поддерживается с ограничениями |
Часто задаваемые вопросы о Delta Sharing
Ниже приведены часто задаваемые вопросы о Delta Sharing.
Нужен ли каталог Unity для использования Delta Sharing?
Нет, вам не нужен каталог Unity для отправки (в качестве поставщика) или потребления общих данных (в качестве получателя). Однако каталог Unity предоставляет такие преимущества, как поддержка общего доступа к нетабличным ресурсам и ресурсам ИИ, а также стандартная система управления, простота эксплуатации и производительность запросов.
Поставщики могут предоставлять общий доступ к данным двумя способами:
Поместите ресурсы для совместного использования в разделе управления каталогом Unity и поделиться ими с помощью встроенного сервера Azure Databricks Delta Sharing.
Вам не нужно переносить все ресурсы в каталог Unity. Для управления активами, которым вы хотите предоставить совместный доступ, вам потребуется всего одна рабочая область Azure Databricks с поддержкой Unity Catalog. В некоторых учетных записях новые рабочие области для каталога Unity включаются автоматически. См. статью "Автоматическое включение каталога Unity".
Реализуйте сервер open Delta Sharing для предоставления общего доступа к данным без необходимости использования учетной записи Azure Databricks.
Получатели могут потреблять данные двумя способами:
Без рабочей области в Databricks. Используйте соединители открытый код Delta Sharing, доступные для многих платформ данных, включая Power BI, pandas и открытый код Apache Spark. См. информацию в разделе Открытый доступ к данным с использованием Delta Sharing и маркеров предъявителя и проекте с открытым исходным кодом Delta Sharing.
В рабочей области Azure Databricks. Рабочие области получателей не должны быть включены для каталога Unity, но есть преимущества управления, простоты и производительности, если они есть.
Организациям получателей, которым нужны эти преимущества, не нужно перенести все ресурсы в каталог Unity. Вам потребуется только одна рабочая область Azure Databricks с поддержкой Unity Catalog для управления ресурсами, к которым у вас есть доступ. В некоторых учетных записях новые рабочие области для каталога Unity включаются автоматически. См. статью "Автоматическое включение каталога Unity".
См. раздел "Чтение данных" с помощью Delta Sharing в режиме открытого доступа с маркерами токенов и Databricks-to-Databricks Delta Sharing (для получателей).
Нужно ли быть клиентом Databricks для использования Delta Sharing?
Нет, Delta Sharing — это открытый протокол. Вы можете предоставлять общий доступ к данным, не относящимся к Databricks, для получателей на любой платформе данных. Поставщики могут настроить сервер Delta Sharing с открытым доступом, делясь данными с любой вычислительной платформой. Получатели могут использовать общие данные с помощью открытых соединителей Delta Sharing для многих продуктов данных, включая Power BI, pandas и Spark с открытым исходным кодом.
Однако использование Delta Sharing на Azure Databricks, особенно совместное использование из рабочей области, поддерживающей Unity Catalog, имеет множество преимуществ.
Дополнительные сведения см. в первом вопросе этого FAQ.
Как нести и проверять затраты на Delta Sharing?
Стоимость Delta Sharing возникает при совместном использовании и доступе к представлениям, материализованным представлениям и потоковым таблицам. Это потенциальные источники затрат на общий доступ:
- Затраты на вычисления, оплачиваемые Azure Databricks.
- Плата за хранение и сетевую передачу (исходящий трафик) взимается поставщиком хранилища.
- Стоимость внешнего источника вычислений при совместном использовании внешних схем и таблиц.
Метод, с помощью которого выполняется вычисление и кто платит за него, зависит от нескольких факторов:
- Тип получателя вычислений
- Происходит ли совместное использование в одной учетной записи Azure Databricks или между учетными записями
В следующей таблице описывается способ выставления счетов для совместного доступа к представлениям и их использования с помощью Delta Sharing.
| Вычисление для получателя | Связь с учетной записью | Кто платит | Номер SKU, используемый для выставления счетов | Метод доступа |
|---|---|---|---|---|
| Databricks Serverless | Any | Recipient* | Получатель использует бессерверную архитектуру | Получатель получает прямой доступ к базовым данным |
| Классическая модель Databricks | Та же учетная запись | Recipient* | Классика получателя | Получатель получает прямой доступ к базовым данным |
| Классическая модель Databricks | Другая учетная запись | Recipient | Интерактивные функции бессерверной платформы поставщика | Поставщик выполняет фильтрацию |
| Откройте Delta Sharing коннекторы | Any | Provider | Интерактивные функции бессерверной платформы поставщика | Поставщик выполняет фильтрацию |
* При использовании Delta Sharing с получателем, использующим бессерверные вычисления в другой учетной записи, или с получателем в той же учетной записи, дополнительная плата не взимается. Это означает, что для материализации ресурса данных нет дополнительных затрат.
При совместном использовании внешних таблиц (бета-версия) материализация всегда выполняется и хранится на стороне поставщика. Для внешних таблиц Iceberg материализация выполняется на стороне поставщика при совместном использовании с открытым получателем, не использующим клиент Iceberg. Поставщики услуг могут увидеть дополнительную плату, связанную с использованием хранилища по умолчанию для материализации данных. Во время бета-версии затраты на вычислительные ресурсы для внешних таблиц отсутствуют.
Атрибуция выставления счетов также может быть запрошена с использованием ссылки на системную таблицу выставляемого использования и ссылки на системную таблицу истории разностной материализации Delta Sharing. Если получатель платит за присвоение, то только получатель может увидеть связанную запись в системной таблице. Примеры запросов см. в разделе "Примеры запросов".
Есть ли затраты на выход при использовании Delta Sharing?
Дельта-обмен внутри региона не требует затрат на исходящий трафик. В отличие от других платформ для обмена данными, Delta Sharing не требует репликации данных. Эта модель имеет множество преимуществ, но это означает, что поставщик облачных служб может взимать плату за исходящий трафик при отправке данных между облаками или регионами. Azure Databricks поддерживает общий доступ из Cloudflare R2, который не несет платы за исходящий трафик, а также предоставляет другие средства и рекомендации для отслеживания и предотвращения исходящего трафика. Ознакомьтесь с разделом "Мониторинг и управление затратами на исходящий трафик Delta Sharing" (для поставщиков).
Имеют ли получатели прямой доступ к базовым данным в общих представлениях, материализованных представлениях и потоковых таблицах?
Для общих представлений, материализованных представлений и потоковых таблиц получатель данных имеет прямой доступ, если выполняется одно из следующих условий:
- Получатель использует бессерверные вычисления или не выделенные классические вычисления в той же учетной записи Azure Databricks.
- Получатель использует бессерверные вычисления в другой учетной записи Azure Databricks.
В противном случае данные материализуются и фильтруются на стороне поставщика.
Материализация данных хранится в родительском расположении общего хранилища данных.
При совместном использовании материализованных ресурсов вычислительные ресурсы обрабатывают запрос, применяя необходимые фильтры и создавая временную материализацию, кэшированную в хранилище поставщика. Эти отфильтрованные данные доставляются получателям с помощью предварительно подписанных кратковременных URL-адресов, обеспечивая безопасный доступ при сохранении контроля доступа "поставщик — получатель".
Могут ли поставщики отозвать доступ получателя?
Да, доступ получателя можно отменить по требованию и для указанной степени детализации. Вы можете запретить получателю доступ к определенным общим папкам и определенным IP-адресам, фильтровать табличные данные для получателя, отменять маркеры получателя и полностью удалять получателей. См. Отзыв доступа получателей к ресурсу и Создание и управление получателями данных для Delta Sharing (обмен данными между Databricks и Databricks).
Является ли использование предварительно подписанных URL-адресов небезопасным?
Delta Sharing использует предварительно подписанные URL-адреса для предоставления временного доступа к файлу в объектном хранилище. Они предоставляются только получателям, у которых уже есть доступ к общим данным. Они защищены, так как они являются короткими и не расширяют уровень доступа за пределами того, что получатели уже получили.
Надежны ли токены, используемые в протоколе открытого доступа Delta Sharing?
Так как Дельта-шаринг обеспечивает кроссплатформенный обмен данными, в отличие от других доступных платформ обмена, протокол требует использования открытого токена доступа. Поставщики могут обеспечить безопасность токенов, настроив время существования токена и сетевые элементы управления и отменив доступ по запросу. Кроме того, токен не расширяет уровень доступа за рамки разрешений, которые получатели уже получили. См. раздел "Вопросы безопасности токенов".
Если вы предпочитаете не использовать токены для управления доступом к общим папкам получателей, следует использовать совместное использование между Databricks или связаться с командой Databricks для альтернативных вариантов.
Что такое разница между Lakeflow Connect и delta Sharing?
Delta Sharing позволяет безопасно делиться актуальными данными между платформами, облаками и регионами. Databricks рекомендует использовать управляемые соединители для поглощения данных, поскольку они масштабируются для обработки больших объемов данных, низколатентных запросов и ограничений сторонних API. Однако может потребоваться запросить данные, не перемещая их.
Если у вас есть выбор между управляемыми соединителями и Delta Sharing, выберите Delta Sharing для следующих сценариев:
- Ограничение дублирования данных.
- Запрашивая самые свежие возможные данные.
Ограничения
Поддержка формата таблиц и функций
Требования к формату:
- Табличные данные должны быть в формате таблицы Delta или managed Iceberg. Таблицы Parquet можно легко преобразовать в таблицы Delta и обратно. См. CONVERT TO DELTA.
- Delta Sharing может считывать только таблицы UniForm как таблицы Delta.
Неподдерживаемые таблицы:
- Поставщики не могут делиться таблицами, использующими динамическую кластеризацию с фильтрацией разделов.
- Поставщики не могут совместно использовать таблицы R2 с контрольной точкой версии 2.
- Поставщики не могут совместно использовать таблицы с включенными параметрами сортировки.
- Поставщики не могут совместно использовать таблицы с фильтрами строк или масками столбцов.
- Поставщики не могут совместно использовать
SHALLOW CLONEтаблицы. Azure Databricks не поддерживает предписанные URL-адреса для журналов Delta, ссылающихся на абсолютные пути. - Поставщики не могут делиться управляемыми таблицами Iceberg с внешними клиентами Iceberg. См. раздел «Добавление управляемых таблиц Iceberg в общий доступ» и включение общего доступа к внешним клиентам Iceberg.
- Ограничения внешнего ключа недоступны в общих таблицах.
Только совместное использование Databricks с Databricks
Следующие ресурсы можно совместно использовать только с помощью механизма общего доступа Databricks-to-Databricks:
- Общий доступ к записной книжке. Дополнительные сведения см. в статье "Добавление файлов записной книжки в общий доступ" и "Чтение данных, переданных с помощью Databricks Delta Sharing (для получателей).
- Общий доступ к томам. См. раздел Добавление томов в общую папку (для поставщиков) и Чтение данных, передаваемых с использованием Databricks-to-Databricks Delta Sharing (для получателей).
- Совместное использование модели См. Добавление моделей в раздел общих ресурсов (для поставщиков) и Чтение данных, разделяемых с помощью Databricks-to-Databricks Delta Sharing (для получателей).
Views
- Представления для общего доступа должны быть определены в таблицах Delta или в других представлениях для общего доступа. См. также раздел "Добавление представлений в общую папку" (для поставщиков) и "Чтение общих представлений" (для получателей).
Стриминг
- Delta Sharing не поддерживает изменение
responseFormatво время потоковой передачи или её перезапуска.
Метаданные получателя
- Таблицы
information_schemaиз общего каталога отражают метаданные, хранящиеся в каталоге Unity. Эти метаданные обновляются от поставщика, только если запрашивать общую таблицу напрямую или выполнять команду, например ОПИСАНИЕ или REFRESH FOREIGN. До этогоinformation_schemaможет казаться устаревшим по сравнению с данными, указанным поставщиком.
Ограничения ресурсов и технических ограничений
- Существуют ограничения на количество файлов в метаданных, разрешенных для общей таблицы. Дополнительные сведения см. в статье об превышении ограничения ресурсов.
- Схемы с именами
information_schemaнельзя импортировать в хранилище метаданных каталога Unity, поскольку это имя зарезервировано в каталоге Unity.
См. также матрицу поддержки функций Delta Lake.
Каскадное удаление обходит защиту общего доступа
Удаление родительского объекта, например каталога или схемы, вызывает каскадное удаление дочерних объектов, даже если эти дочерние объекты включены в активные общие папки. После каскадного удаления ресурса невозможно повторно добавить ресурс с тем же именем в общую папку.
Чтобы избежать этой проблемы, удалите ресурсы из всех общих папок перед удалением родительских объектов.
Квоты ресурсов
Azure Databricks применяет квоты ресурсов ко всем защищаемым объектам Delta Sharing. Эти квоты перечислены в ограничениях ресурсов. Если вы ожидаете, что превысите эти ограничения ресурсов, обратитесь в команду вашей учетной записи Azure Databricks.
Вы можете отслеживать использование квоты с помощью API квот ресурсов Unity Catalog. См. статью "Мониторинг использования квот ресурсов каталога Unity".