Я не могу смонтировать ADLS Gen2. Пожалуйста, помогите

#apache-spark #azure-databricks #azure-data-lake-gen2

#apache-spark #azure-databricks #azure-data-lake-gen2

Вопрос:

Код для монтирования ADLS Gen2:

введите описание изображения здесь

Ошибка при монтировании ADLS Gen2:

введите описание изображения здесь

Комментарии:

1. Роль участника хранилища Blob-данных уже назначена.

2. дважды проверьте идентификатор арендатора. Также проверьте, доступен ли AAD с узлов кластера — иногда трафик блокируется NSG

Ответ №1:

В сообщении об ошибке ясно сказано — предоставленный клиент не найден в вашей подписке. Пожалуйста, убедитесь, что идентификатор арендатора доступен в вашей подписке.

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

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

Шаг 1. Создайте приложение Azure AD и участника службы, который может получать доступ к ресурсам. Обратите внимание на следующие свойства:

  • идентификатор приложения: идентификатор, который однозначно идентифицирует приложение.
  • идентификатор каталога: идентификатор, который однозначно идентифицирует экземпляр Azure AD.
  • служебные учетные данные: строка, которую приложение использует для подтверждения своей идентичности.
  • storage-account-name: имя учетной записи хранилища.
  • имя файловой системы: имя файловой системы.

Шаг 2. Зарегистрируйте участника службы, предоставив правильное назначение роли, например Storage Blob Data Contributor роли, в учетной записи хранилища данных Azure Gen2.

Шаг 3: Смонтировать Azure Data Lake Gen2, передав значения напрямую.

 configs = {"fs.azure.account.auth.type": "OAuth",
       "fs.azure.account.oauth.provider.type": "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider",
       "fs.azure.account.oauth2.client.id": "06ecxx-xxxxx-xxxx-xxx-xxxef", #Enter <appId> = Application ID
       "fs.azure.account.oauth2.client.secret": "1i_7Q-XXXXXXXXXXXXXXXXXXgyC.Szg", #Enter <password> = Client Secret created in AAD
       "fs.azure.account.oauth2.client.endpoint": "https://login.microsoftonline.com/72f98-xxxx-xxxx-xxx-xx47/oauth2/token", #Enter <tenant> = Tenant ID
       "fs.azure.createRemoteFileSystemDuringInitialization": "true"}

dbutils.fs.mount(
source = "abfss://<filesystem>@<StorageName>.dfs.core.windows.net/<Directory>", #Enter <container-name> = filesystem name <storage-account-name> = storage name
mount_point = "/mnt/<mountname>",
extra_configs = configs)
 

введите описание изображения здесь

Для получения более подробной информации обратитесь к Azure Databricks — хранилище озера данных Azure Gen2.