Что такое OpenSharing?

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

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

Как работает OpenSharing?

OpenSharing — это открытый протокол , разработанный Databricks для безопасного обмена данными с другими организациями. Он работает независимо от вычислительных платформ, используемых организациями.

Существует несколько способов совместного использования данных с помощью OpenSharing:

  1. Протокол общего доступа Databricks to Databricks, который позволяет совместно использовать данные и ресурсы ИИ из рабочей области с поддержкой каталога Unity пользователям, которые также имеют доступ к рабочей области Databricks с поддержкой каталога Unity.

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

    См. Что такое протокол OpenSharing Databricks-to-Databricks?.

  2. Протокол общего доступа Databricks to Open, который позволяет совместно использовать табличные данные, управляемые в рабочей области с поддержкой каталога Unity Databricks с пользователями на любой вычислительной платформе.

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

    См. раздел "Что такое протокол общего доступа Databricks to-Open?".

  3. Управляемая клиентом реализация сервера OpenSharing с открытым кодом, которая позволяет предоставлять общий доступ от любой платформы к любой платформе, независимо от того, используется ли Databricks или нет.

    В документации по Azure Databricks не рассматриваются инструкции по настройке собственного сервера OpenSharing. См. проект открытый код.

  4. Соединитель SAP Business Data Cloud (BDC) для Azure Databricks, который позволяет обмениваться данными между рабочей областью с поддержкой каталога Unity и учетной записью SAP BDC.

    Этот подход использует коннектор SAP BDC, который задействует OpenSharing для доступа в реальном времени к продуктам данных SAP BDC без копирования.

    См. Что такое соединитель SAP BDC для Azure Databricks?.

Акции, поставщики и получатели

Основными понятиями, лежащими в основе OpenSharing в Azure Databricks, являются общие ресурсы, поставщики и получатели.

Что такое акция?

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

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

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

См. статью "Создание общих папок" для OpenSharing.

Что такое поставщик?

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

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

Что такое получатель?

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

В качестве поставщика данных (sharer) можно определить нескольких получателей для любого хранилища метаданных каталога Unity, однако если требуется предоставить общий доступ к данным из нескольких хранилищ метаданных с определенным пользователем или группой пользователей, необходимо задать получателя отдельно для каждого хранилища метаданных. У получателя может быть доступ к нескольким общим ресурсам.

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

См. статью Создание получателей данных для OpenSharing (обмен данными между рабочими областями Databricks).

Обмен данными Databricks-to-Open и Databricks-to-Databricks

В этом разделе описаны два протокола для совместного использования из рабочей области Databricks с включённым Unity Catalog.

Замечание

В этом разделе предполагается, что поставщик находится в рабочей области Azure Databricks с поддержкой Unity Catalog. Сведения о настройке сервера OpenSharing с открытым исходным кодом для совместного использования с платформы, отличной от Databricks, или рабочей области каталога, отличной от Unity, см. в проекте открытый код.

Способ использования OpenSharing в Azure Databricks зависит от того, с кем они обмениваются данными:

  • Общий доступ позволяет обмениваться данными с любым пользователем, независимо от того, имеют ли они доступ к Azure Databricks.
  • Совместное использование Databricks-to-Databricks позволяет совместно использовать данные с пользователями Azure Databricks, чьи рабочие области присоединены к метахранилищу Unity Catalog, отличающемуся от вашего. Databricks to Databricks также поддерживает совместное использование записных книжек, томов и моделей, которые недоступны в совместном доступе Databricks to-Open.

Что такое openSharing?

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

  • Вы создаете долгосрочный токен доступа и безопасно передаете его получателю. Они используют токен для аутентификации и получения доступа на чтение к таблицам, которые вы включили в разделяемые ресурсы, доступ к которым вы им предоставили.
  • Вы используете федерацию Open ID Connect (OIDC), предоставляя получателю короткоживущие токены Databricks OAuth в обмен на JWT-токены, которые поставщик удостоверяющих данных (IdP) получателя передает в Databricks.

Получатели могут получить доступ к общим данным с помощью множества вычислительных средств и платформ, включая:

  • Azure Databricks
  • Apache Spark
  • Pandas
  • Power BI

Полный список коннекторов OpenSharing и информацию о том, как их использовать, см. в документации OpenSharing.

См. также Что такое протокол совместного использования Databricks-to-Open?.

Что такое Databricks to Databricks OpenSharing?

Если вы хотите поделиться данными с пользователями, у которых есть рабочая область Databricks, включенная для каталога Unity, можно использовать Databricks to-Databricks OpenSharing. Обмен данными Databricks-to-Databricks позволяет делиться данными с пользователями в других учетных записях Databricks, независимо от того, находятся ли они на AWS, Azure или GCP. Это также отличный способ безопасно предоставлять общий доступ к данным в разных хранилищах метаданных каталога Unity в собственной учетной записи Databricks. Обратите внимание, что нет необходимости использовать OpenSharing для совместного использования данных между рабочими областями, подключенными к одному хранилищу метаданных каталога Unity, так как в этом сценарии можно использовать каталог Unity для управления доступом к данным в разных рабочих областях.

Одним из преимуществ общего доступа Databricks to Databricks является то, что получатель общего ресурса не нуждается в маркере для доступа к общей папке, и поставщику не нужно управлять маркерами получателей. Безопасность подключения для совместного доступа, включая все процессы проверки личности, аутентификации и аудита, полностью обеспечивается средствами OpenSharing и платформы Databricks. Еще одним преимуществом является возможность совместного использования файлов записных книжек Databricks, томов каталога Unity и моделей каталога Unity.

См. также: Что такое протокол OpenSharing Databricks-to-Databricks?.

Как администраторы поставщиков настроили OpenSharing?

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

Обмен данными между хранилищами метаданных в Unity Catalog в пределах одной учетной записи в Databricks всегда активирован. Если вы являетесь поставщиком, который хочет разрешить OpenSharing совместно использовать данные с рабочими областями Databricks в других учетных записях или клиентах, отличных от Databricks, администратор учетной записи Azure Databricks или администратор хранилища метаданных выполняет следующие действия по настройке (на высоком уровне):

  1. Включите OpenSharing для хранилища метаданных каталога Unity, которое управляет данными, которыми вы хотите предоставить общий доступ.

    Замечание

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

    См. раздел "Включить OpenSharing" в хранилище метаданных.

  2. Создайте общий доступ, содержащий ресурсы данных, зарегистрированные в метахранилище Unity Catalog.

    Если вы предоставляете доступ получателю, не использующему Databricks (это называется предоставлением общего доступа Databricks-to-Open), вы можете включать таблицы в формате Delta. Если вы планируете использовать совместное использование Databricks to Databricks, вы также можете добавить представления, тома каталога Unity, модели каталога Unity и файлы записной книжки в общую папку.

    См. статью "Создание общих папок" для OpenSharing.

  3. Создайте получателя.

    См. статью Создание получателей данных для OpenSharing (обмен данными между рабочими областями Databricks).

    Если получатель не является пользователем Databricks или не имеет доступа к рабочей области Databricks, в которой включен Unity Catalog, необходимо использовать совместное использование Databricks-to-Open. Вы можете создавать учетные данные на основе маркеров доступа для этого получателя или использовать федерацию аутентификации OIDC.

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

    Совет

    Используйте себя в качестве тестового получателя, чтобы попробовать процесс установки.

  4. Предоставьте получателю доступ к одной или нескольким акциям.

    См. раздел "Управление доступом к общим папкам данных OpenSharing" (для поставщиков).

    Замечание

    Этот шаг также может выполняться пользователем без администратора с USE SHAREUSE RECIPIENT правами и SET SHARE PERMISSION привилегиями. Смотрите справочник по привилегиям Unity Catalog.

  5. Отправьте получателю сведения, необходимые для подключения к общему ресурсу (только для совместного использования Databricks-to-Open).

    Для обмена Databricks-to-Open с помощью токенов предъявителя используйте безопасный канал, чтобы отправить получателю ссылку для активации, по которой он сможет скачать свои учетные данные на основе токена. См. статью "Отправить получателю сведения о подключении".

    Для предоставления общего доступа из Databricks в Open с помощью федерации токенов OIDC отправьте сгенерированный URL-адрес портала. См. Включение федерации Open ID Connect (OIDC) для получателей OpenSharing.

    Для общего доступа Databricks to Databricks данные, включенные в общую папку, становятся доступными в рабочей области Databricks получателя, как только вы предоставите им доступ к общей папке.

Теперь получатель может получить доступ к общим данным.

Как получатели получают доступ к общим данным?

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

Безопасный доступ зависит от модели общего доступа:

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

Как отслеживать, кто предоставляет общий доступ к общим данным и обращается к ним?

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

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

Распространение томов

Вы можете делиться томами с помощью механизма общего доступа «Databricks-to-Databricks». См. раздел Добавление томов в общий ресурс (для поставщиков) и Чтение данных, предоставленных через Databricks-to-Databricks OpenSharing (для получателей).

Обмен моделями

Вы можете обмениваться моделями, используя процесс обмена Databricks-to-Databricks. См. Добавление моделей в общий ресурс (для поставщиков) и Чтение данных, опубликованных через Databricks-to-Databricks OpenSharing (для получателей).

Общий доступ к записным книжкам

OpenSharing можно использовать для совместного использования файлов записных книжек с помощью потока общего доступа Databricks to Databricks. См. Добавление файлов записной книжки в общую папку (для поставщиков) и Чтение общих записных книжек (для получателей).

Ограничение доступа на уровне строки и столбца при совместном использовании представлений

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

OpenSharing и потоковая передача

OpenSharing поддерживает структурированную потоковую передачу Apache Spark. Поставщик может совместно использовать таблицу с историей или, например, потоковую таблицу, чтобы получатель смог использовать ее в качестве источника структурированной потоковой передачи, постепенно обрабатывая общие данные с малой задержкой. Получатели также могут выполнять запросы с использованием функции перемотки времени Delta Lake на таблицах, общих с историей.

Чтобы узнать, как делиться таблицами с историей, см. Добавление таблиц в общую таблицу. Чтобы узнать, как использовать общие таблицы в качестве источников потоковой передачи, см. статью Выполнение запроса к таблице с помощью Apache Spark Structured Streaming (для получателей обмена Databricks-to-Databricks) или Доступ к общей таблице с помощью Spark Structured Streaming (для получателей данных Databricks-to-Open).

Чтобы узнать о том, как делиться потоковыми таблицами, см. раздел Добавление потоковых таблиц в общую папку.

См. также основные понятия структурированной потоковой передачи.

Матрица поддержки функций Delta Lake

OpenSharing поддерживает большинство функций Delta Lake при совместном использовании таблицы. В этой матрице поддержки перечислены:

  • Функции Delta, для которых требуются определённые версии Databricks Runtime, Spark-соединителя OpenSharing с открытым исходным кодом или Python-соединителя OpenSharing с открытым исходным кодом.
  • Частично поддерживаемые функции.
Feature Provider Адресат Databricks Получатель открытого исходного кода
Векторы удаления
  • Общедоступные таблицы с этой функцией доступны в предварительной версии.
  • Таблицы должны быть общими с историей.
  • Databricks Runtime 14.1+ для пакетных запросов
  • Databricks Runtime 14.2+ для запросов CDF и потоковой передачи
  • Соединитель OpenSharing Spark 3.1+
  • Соединитель OpenSharing Python 1.1.0+
  • Power BI версии 2.132.908.0+
Сопоставление столбцов
  • Общедоступные таблицы с этой функцией доступны в предварительной версии.
  • Таблицы должны быть общими с историей.
  • Databricks Runtime 14.1+ для пакетных запросов
  • Databricks Runtime 14.2+ для запросов CDF и потоковой передачи
  • Соединитель OpenSharing Spark 3.1+
  • Поддерживается с ограничениями в соединителе OpenSharing Python
  • Power BI версии 2.132.908.0+
Универсальный формат
  • Общедоступные таблицы с этой функцией доступны в предварительной версии.
  • Таблицы должны быть общими с историей.
  • Databricks Runtime 14.1+ для пакетных запросов
  • Databricks Runtime 14.2+ для запросов CDF и потоковой передачи
  • Соединитель OpenSharing Spark 3.1+
  • Соединитель OpenSharing Python 1.1.0+
  • Power BI версии 2.132.908.0+
Контрольная точка V2 Поддерживается с ограничениями Поддерживается с ограничениями Поддерживается с ограничениями
TimestampNTZ Поддерживается Среда выполнения Databricks 14.1+ Соединитель OpenSharing Spark 3.3+
Кластеризация жидкости Поддерживается с ограничениями Поддерживается с ограничениями Поддерживается с ограничениями

Часто задаваемые вопросы о OpenSharing

Ниже приведены часто задаваемые вопросы о OpenSharing.

Нужен ли каталог Unity для использования OpenSharing?

Нет, вам не нужен каталог Unity для отправки (в качестве поставщика) или потребления общих данных (в качестве получателя). Однако каталог Unity предоставляет такие преимущества, как поддержка общего доступа к нетабличным ресурсам и ресурсам ИИ, а также стандартная система управления, простота эксплуатации и производительность запросов.

Поставщики могут предоставлять общий доступ к данным двумя способами:

  • Подключите ресурсы, которыми нужно поделиться, к управлению Unity Catalog и предоставьте к ним доступ с помощью встроенного сервера OpenSharing в Azure Databricks.

    Вам не нужно перенести все ресурсы в каталог Unity. Для управления активами, которым вы хотите предоставить совместный доступ, вам потребуется всего одна рабочая область Azure Databricks с поддержкой Unity Catalog. В некоторых учетных записях новые рабочие области для каталога Unity включаются автоматически. См. статью "Начало работы с каталогом Unity".

  • Реализуйте сервер общего доступа Databricks to Open для предоставления общего доступа к данным без необходимости использования учетной записи Azure Databricks.

Получатели могут потреблять данные двумя способами:

  • Без рабочей области в Databricks. Используйте соединители OpenSharing открытый код, доступные для многих платформ данных, включая Power BI, pandas и открытый код Apache Spark. См. Чтение данных, предоставленных через токены предъявителя и проект OpenSharing с открытым исходным кодом.

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

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

См. Чтение данных, предоставленных через bearer-токены и Чтение данных, предоставленных с помощью Databricks-to-Databricks OpenSharing (для получателей).

Нужно ли быть клиентом Databricks для использования OpenSharing?

Нет, OpenSharing — это открытый протокол. Вы можете предоставлять общий доступ к данным, не относящимся к Databricks, для получателей на любой платформе данных. Поставщики могут настроить открытый сервер OpenSharing для совместного использования с любой вычислительной платформы. Получатели могут использовать общие данные с помощью соединителей OpenSharing открытый код для многих продуктов данных, включая Power BI, pandas и открытый код Spark.

Однако использование открытого совместного доступа в Azure Databricks, особенно общего доступа из рабочей области с поддержкой Unity Catalog, имеет множество преимуществ.

Дополнительные сведения см. в первом вопросе этого FAQ.

Как начисляются расходы OpenSharing и как их проверить?

Затраты на OpenSharing возникают при совместном использовании представлений, материализованных представлений и потоковых таблиц, а также при доступе к ним. Это потенциальные источники затрат на общий доступ:

  • Затраты на вычисления, оплачиваемые Azure Databricks.
  • Стоимость хранения и передачи данных по сети (исходящий трафик), взимаемая поставщиком хранилища или Azure Databricks, если поставщик использует SecureConnect.
  • Стоимость внешнего источника вычислений при совместном использовании внешних схем и таблиц.

Метод, с помощью которого выполняется вычисление и кто платит за него, зависит от нескольких факторов:

  • Тип получателя вычислений
  • Происходит ли совместное использование в одной учетной записи Azure Databricks или между учетными записями

В следующей таблице описывается способ тарификации при совместном использовании представлений и доступе к ним с помощью OpenSharing:

Вычисление для получателя Связь с учетной записью Кто платит Номер SKU, используемый для выставления счетов Метод доступа
Databricks Serverless Any Recipient* Получатель использует бессерверную архитектуру Получатель получает прямой доступ к базовым данным
Классическая модель Databricks Та же учетная запись Recipient* Классика получателя Получатель получает прямой доступ к базовым данным
Классическая модель Databricks Другая учетная запись Recipient Интерактивные функции бессерверной платформы поставщика Поставщик выполняет фильтрацию
Коннекторы для обмена данными из Databricks в Open Any Provider Интерактивные функции бессерверной платформы поставщика Поставщик выполняет фильтрацию

* При использовании OpenSharing с получателем с использованием бессерверных вычислений в другой учетной записи или с получателем в той же учетной записи не взимается добавочная плата. Это означает, что для материализации ресурса данных нет дополнительных затрат.

При совместном использовании внешних таблиц (бета-версия) материализация всегда выполняется и хранится на стороне поставщика. Для внешних таблиц Iceberg материализация выполняется на стороне поставщика при совместном использовании с открытым получателем, не использующим клиент Iceberg. Поставщики услуг могут увидеть дополнительную плату, связанную с использованием хранилища по умолчанию для материализации данных. Во время бета-версии затраты на вычислительные ресурсы для внешних таблиц отсутствуют.

Сведения об отнесении расходов по биллингу также можно запрашивать с помощью справочника по системной таблице тарифицируемого использования и справочника по системной таблице журнала материализации OpenSharing. Если получатель платит за присвоение, то только получатель может увидеть связанную запись в системной таблице. Примеры запросов см. в разделе "Примеры запросов".

Влечет ли OpenSharing затраты на исходящий трафик?

OpenSharing в регионе не несет затрат на исходящий трафик. В отличие от других платформ общего доступа к данным, OpenSharing не требует репликации данных. Эта модель имеет множество преимуществ, но это означает, что поставщик облачных служб может взимать плату за исходящий трафик при отправке данных между облаками или регионами. Azure Databricks поддерживает общий доступ из Cloudflare R2, который не несет платы за исходящий трафик, а также предоставляет другие средства и рекомендации для отслеживания и предотвращения исходящего трафика. Ознакомьтесь с разделом "Мониторинг и управление затратами на исходящий трафик OpenSharing" (для поставщиков).

Однако если поставщик использует SecureConnect, плата за передачу данных взимается Azure Databricks вместо поставщика облака.

Имеют ли получатели прямой доступ к базовым данным в общих представлениях, материализованных представлениях и потоковых таблицах?

Для общих представлений, материализованных представлений и потоковых таблиц получатель данных имеет прямой доступ, если выполняется одно из следующих условий:

  • Получатель использует бессерверные вычисления или не выделенные классические вычисления в той же учетной записи Azure Databricks.
  • Получатель использует бессерверные вычисления в другой учетной записи Azure Databricks.

В противном случае данные материализуются и фильтруются на стороне поставщика.

Если SecureConnect включен, эти ресурсы всегда материализуются и фильтруются на стороне поставщика, даже в приведенных выше сценариях.

Материализация данных хранится в родительском расположении общего хранилища данных.

При совместном использовании материализованных ресурсов вычислительные ресурсы обрабатывают запрос, применяя необходимые фильтры и создавая временную материализацию, кэшированную в хранилище поставщика. Эти отфильтрованные данные доставляются получателям с помощью предварительно подписанных кратковременных URL-адресов, обеспечивая безопасный доступ при сохранении контроля доступа "поставщик — получатель".

Могут ли поставщики отозвать доступ получателя?

Да, доступ получателя можно отменить по требованию и для указанной степени детализации. Вы можете запретить получателю доступ к определенным общим папкам и определенным IP-адресам, фильтровать табличные данные для получателя, отменять маркеры получателя и полностью удалять получателей. См. Отозвать доступ получателя к общему ресурсу и Создание получателей данных для OpenSharing (совместное использование Databricks-to-Databricks).

Является ли использование предварительно подписанных URL-адресов небезопасным?

OpenSharing использует предварительно подписанные URL-адреса для предоставления временного доступа к файлу в хранилище объектов. Они предоставляются только получателям, у которых уже есть доступ к общим данным. Они защищены, так как они являются короткими и не расширяют уровень доступа за пределами того, что получатели уже получили.

Безопасны ли токены, используемые в протоколе совместного использования Databricks-to-Open?

Так как OpenSharing обеспечивает кроссплатформенный общий доступ , в отличие от других доступных платформ общего доступа к данным, протокол общего доступа требует открытого маркера. Поставщики могут обеспечить безопасность токенов, настроив время существования токена и сетевые элементы управления и отменив доступ по запросу. Кроме того, токен не расширяет уровень доступа за рамки разрешений, которые получатели уже получили. См. раздел "Вопросы безопасности токенов".

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

Какова разница между Lakeflow Connect и OpenSharing?

OpenSharing позволяет безопасно совместно использовать динамические данные на платформах, облаках и регионах. Databricks рекомендует использовать управляемые соединители для поглощения данных, поскольку они масштабируются для обработки больших объемов данных, низколатентных запросов и ограничений сторонних API. Однако может потребоваться запросить данные, не перемещая их.

Если у вас есть выбор между управляемыми соединителями и OpenSharing, выберите OpenSharing для следующих сценариев:

  • Ограничение дублирования данных.
  • Запрашивая самые свежие возможные данные.

Ограничения

Поддержка формата таблиц и функций

Требования к формату:

  • Табличные данные должны быть в формате таблицы Delta или managed Iceberg. Таблицы Parquet можно легко преобразовать в таблицы Delta и обратно. См. CONVERT TO DELTA.
  • OpenSharing может считывать только таблицы UniForm в виде разностных таблиц.

Неподдерживаемые таблицы:

Только совместное использование Databricks с Databricks

Следующие ресурсы можно совместно использовать только с помощью механизма общего доступа Databricks-to-Databricks:

Views

Стриминг

  • OpenSharing не поддерживает изменение responseFormat во время выполнения источника потоковой передачи или во время перезапуска потоковой передачи.

Метаданные получателя

  • Таблицы information_schema из общего каталога отражают метаданные, хранящиеся в каталоге Unity. Эти метаданные обновляются от поставщика, только если запрашивать общую таблицу напрямую или выполнять команду, например ОПИСАНИЕ или REFRESH FOREIGN. До этого information_schema может казаться устаревшим по сравнению с данными, указанным поставщиком.

Ограничения ресурсов и технических ограничений

  • Существуют ограничения на количество файлов в метаданных, разрешенных для общей таблицы. Дополнительные сведения см. в статье об превышении ограничения ресурсов.
  • Схемы с именами information_schema нельзя импортировать в хранилище метаданных каталога Unity, поскольку это имя зарезервировано в каталоге Unity.

См. также матрицу поддержки функций Delta Lake.

Каскадное удаление обходит защиту общего доступа

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

Чтобы избежать этой проблемы, удалите ресурсы из всех общих папок перед удалением родительских объектов.

Квоты ресурсов

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

Вы можете отслеживать использование квоты с помощью API ресурсных квот Unity Catalog. См. статью "Мониторинг использования квот ресурсов каталога Unity".

Дополнительные ресурсы