Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В качестве получателя Azure Databricks можно импортировать файл учетных данных из открытого поставщика и прочитать общие ресурсы данных. Вы можете запросить общие данные в обозревателе каталогов или использовать записную книжку Python.
Замечание
Если вы предоставили доступ к данным с помощью Databricks-to-Databricks OpenSharing, вам не нужен файл учетных данных для доступа к данным, и эта страница не применяется к вам. Вместо этого см. Чтение данных, к которым предоставлен доступ через Databricks-to-Databricks OpenSharing (для получателей).
Requirements
Один из участников вашей команды должен скачать файл учетных данных, которым поделился поставщик данных, и использовать защищенный канал, чтобы передать вам этот файл или сведения о его местоположении. См. статью "Получить доступ" в модели Open-to-Databricks.
Замечание
Контейнер хранилища и возможности учетных данных (область, срок действия, чтение и запись) определяются поставщиком. Если поставщик является поставщиком Azure Databricks, подключение открытой общей папки в рабочей области Secure Egress Gateway (SEG) автоматически разрешает контейнер поставщика для исходящего доступа. Для открытых поставщиков, отличных от Databricks, контейнер не будет автоматически разрешен. Проверьте поставщика перед монтированием.
Убедитесь, что, когда открытый поставщик предоставляет общий доступ к таблицам с использованием выдачи учетных данных (доступ на основе каталогов), эти таблицы размещены в облачном хранилище, использующем одну из следующих поддерживаемых схем: s3, s3a, s3n, abfss, wasbs, gs или r2. Таблицы, использующие хранилище с неподдерживаемой схемой (например, незашифрованной схемой wasb), не могут считываться через механизм выдачи учетных данных.
Импорт поставщика и запроса общих данных
В этом разделе описывается, как импортировать провайдера и как запрашивать общие данные в обозревателе каталогов или в записной книжке Python.
Если рабочая область Azure Databricks включена для каталога Unity, используйте пользовательский интерфейс поставщика импорта в обозревателе каталогов. Вы можете выполнить следующие действия, не сохраняя или указав файл учетных данных:
- Создайте каталоги из общих папок с помощью кнопки.
- Используйте элементы управления доступом к каталогу Unity, чтобы предоставить доступ к общим таблицам.
- Запрос общих данных с помощью стандартного синтаксиса каталога Unity.
- Примените поворачиваемые учетные данные к существующему объекту поставщика без повторного создания каталога. См. раздел "Смена учетных данных" для открытых получателей.
Если ваша рабочая область Azure Databricks не поддерживает Unity Catalog, следуйте инструкциям для записной книжки Python.
Обозреватель каталогов
Необходимые разрешения: администратор хранилища метаданных или пользователь с CREATE PROVIDER привилегиями для хранилища метаданных каталога Unity. Чтобы создать каталоги из общей папки, вам потребуется привилегия CREATE CATALOG .
В рабочей области Azure Databricks щелкните
Catalog, чтобы открыть обозреватель каталогов.
В верхней части области Catalog щелкните
и выберите OpenSharing. Кроме того, в правом верхнем углу нажмите кнопку "Общий доступ > к OpenSharing".
На вкладке "Общий доступ со мной" нажмите кнопку "Установить общую папку".
Введите имя поставщика. Имя не может содержать пробелы.
Загрузите файл учетных данных, который поставщик поделился с вами. У многих поставщиков есть собственные сети OpenSharing, из которых можно получать общие ресурсы. Дополнительные сведения см. в разделе конфигурации для конкретного поставщика.
(Необязательно) Введите комментарий.
Нажмите кнопку Импорт.
На вкладке Общие ресурсы в строке общего ресурса нажмите Создать каталог, чтобы создать каталоги из общих данных.
Сведения об использовании SQL или интерфейса командной строки Databricks для создания каталога из общего ресурса см. в статье Создание каталога изобщего ресурса.
Предоставьте доступ к каталогам. Узнайте , как сделать общие данные доступными для моей команды? И управлять разрешениями для схем, таблиц и томов в каталоге OpenSharing.
Считывайте данные из совместно используемых объектов точно так же, как и из любых объектов данных, зарегистрированных в каталоге Unity.
Дополнительные сведения и примеры см. в разделе Доступ к данным в общей таблице или томе.
Python
Считывайте данные с общим доступом с помощью блокнота в рабочей области Azure Databricks, если ваша рабочая область не поддерживает Unity Catalog. Сохраните файл учетных данных в Azure Databricks, а затем используйте его для проверки подлинности в поставщике данных и чтения общих данных.
Замечание
Эти инструкции предполагают, что ваша рабочая область Azure Databricks не поддерживает Unity Catalog. Если вы используете Unity Catalog, вам не нужно указывать на файл учетных данных при чтении из объекта обмена. Вы можете читать из общих таблиц так же, как и из любой таблицы, зарегистрированной в каталоге Unity. Databricks рекомендует использовать пользовательский интерфейс поставщика импорта в обозревателе каталогов вместо приведенных здесь инструкций.
Сначала сохраните файл учетных данных в виде файла рабочей области Azure Databricks, чтобы пользователи в вашей команде могли получить доступ к общим данным.
- Чтобы импортировать файл учетных данных в рабочую область Azure Databricks, см. статью "Импорт файла".
- Вы можете предоставить другим пользователям разрешение на доступ к файлу, щелкнув
с файлом, а затем предоставить общий доступ (разрешения). Введите учетные записи Azure Databricks, которые должны иметь доступ к файлу. Дополнительные сведения о разрешениях на доступ к файлам см. в разделе "Списки управления доступом к файлам".
Теперь, когда файл учетных данных хранится, создайте записную книжку для перечисления и чтения общих таблиц.
В вашей рабочей области Azure Databricks нажмите кнопку
"Создать новую записную книжку". Дополнительные сведения о записных книжках Azure Databricks см. в Databricks notebooks. Установите соединитель
delta-sharingи используйте Python илиpandasApache Spark для перечисления и чтения общих таблиц. Используйте путь рабочей области к файлу учетных данных (например,/Workspace/Users/user.name@email.com/config.shareв качестве пути профиля). Примеры кода см. в разделе Pandas: чтение общих данных и Apache Spark: чтение общих данных.Помимо команд Python и Apache Spark, можно запрашивать общие данные с помощью SQL. Создайте локальную таблицу в рабочей области из общей таблицы, а затем запросите локальную таблицу. Общие данные не хранятся и не кэшируются в локальной таблице. Каждый раз при запросе локальной таблицы отображается текущее состояние общих данных.
Замените переменные следующим образом:
-
<local-table-name>: имя локальной таблицы. -
<profile-path>: расположение файла учетных данных. -
<share-name>: значениеshare=для таблицы. -
<schema-name>: значениеschema=для таблицы. -
<table-name>: значениеname=для таблицы.
%sql DROP TABLE IF EXISTS <local-table-name>; CREATE TABLE <local-table-name> USING deltaSharing LOCATION "<profile-path>#<share-name>.<schema-name>.<table-name>"; SELECT * FROM <local-table-name> LIMIT 10;-
При выполнении команды запрос к общим данным осуществляется напрямую. В качестве теста выполняется запрос к таблице и возвращаются первые 10 результатов.
Если выходные данные пусты или не содержат ожидаемые данные, обратитесь к поставщику данных.
Действуют ограничения соединителя OpenSharing Python. См. ограничения соединителя OpenSharing Python.
Ограничения
Совместное использование с Databricks основано на протоколе OpenSharing. Следующая поддержка применяется при импорте открытого поставщика в Azure Databricks:
- Только таблицы Delta, поддерживающие протокол Delta Sharing. Таблицы, доступные только для Айсберга, не поддерживаются.
- Поддерживаются как предварительно подписанный URL, так и доступ по облачному токену (на основе каталогов). Azure Databricks предпочитает доступ с использованием облачных токенов, если поставщик предоставляет такую возможность.
- Поддерживаются только следующие схемы хранения маркеров облака:
s3,s3a,s3n, ,abfsswasbs,gsиr2.
Чтобы читать данные не в формате Delta, например Iceberg, CSV, Parquet или JSON, из внешнего источника, вместо этого используйте федерацию Lakehouse. См. статью "Подключение к внешним базам данных и каталогам".