Подключение к ADLS с Spark API в Databricks - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь установить sh соединение с ADLS, используя Spark API. Я действительно новичок в этом. Я прочитал документацию, в которой говорится, что вы можете sh установить соединение с помощью следующего кода:

spark.conf.set("fs.adl.oauth2.access.token.provider.type", "ClientCredential")
spark.conf.set("fs.adl.oauth2.client.id", "<application-id>")
spark.conf.set("fs.adl.oauth2.credential", dbutils.secrets.get(scope = "<scope-name>", key = "<key-name-for-service-credential>"))
spark.conf.set("fs.adl.oauth2.refresh.url", "https://login.microsoftonline.com/<directory-id>/oauth2/token")

Я могу видеть в Azure Portal / Azure Storage Explorer, что у меня есть Read / Разрешение на запись / выполнение в нужной мне папке ADLS, но я не знаю, где найти application-id, scope-name и key-name-for-service-credential.

1 Ответ

0 голосов
/ 24 марта 2020

Существует два способа доступа к Azure хранилищу озера данных Gen1:

  1. Монтирование файловой системы хранилища озера данных Azure Gen1 в DBFS с использованием субъекта службы и OAuth 2.0.
  2. Использование субъекта службы напрямую.

Предварительные условия:

Необходимо создать и предоставить разрешения субъекту службы.

Создайте приложение Azure AD и субъект-службу, который может обращаться к ресурсам .

Обратите внимание на следующие свойства:

идентификатор приложения: Идентификатор, который однозначно идентифицирует клиентское приложение.

идентификатор каталога: Идентификатор, который однозначно идентифицирует экземпляр Azure AD.

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

Зарегистрируйте службу принципал, предоставляющий правильное назначение роли , например Contributor, для учетной записи Azure Data Lake Storage Gen1.

Method1: Mount Azure Data Lake Storage Ресурс или папка Gen1

enter image description here

Method2: Доступ напрямую через API Spark с использованием субъекта службы и OAuth 2.0

enter image description here

Метод 3: Прямой доступ через API Spark с использованием субъекта службы и OAuth 2.0 с помощью dbutils.secrets.get (scope = "", key = "") извлекает ваше хранилище ключ доступа к учетной записи, который был сохранен как секрет в секретной области.

* 105 7 *enter image description here

Ссылка: Блоки данных - Azure Хранилище озера данных Gen1 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...