【问题标题】:I am unable to mount ADLS Gen2. Please assist我无法安装 ADLS Gen2。请协助
【发布时间】:2022-01-08 16:03:21
【问题描述】:

挂载 ADLS Gen2 的代码:

安装 ADLS Gen2 时出错:

【问题讨论】:

  • 已分配存储 Blob 数据参与者角色。
  • 仔细检查租户 ID。还要检查是否可以从集群节点访问 AAD - 有时流量会被 NSG 阻止

标签: apache-spark azure-databricks azure-data-lake-gen2


【解决方案1】:

从错误消息中可以清楚地看出 - 在您的订阅中找不到提供的租户。请确保租户 ID 在您的订阅中可用。

先决条件:

为服务主体创建和授予权限如果您选择的访问方法需要具有足够权限的服务主体,而您没有,请按照以下步骤操作:

第 1 步:创建可以访问资源的 Azure AD 应用程序和服务主体。请注意以下属性:

  • application-id:唯一标识应用程序的 ID。
  • directory-id:唯一标识 Azure AD 实例的 ID。
  • service-credential:应用程序用来证明其身份的字符串。
  • storage-account-name:存储帐户的名称。
  • filesystem-name:文件系统的名称。

第 2 步:注册服务主体,在 Azure Data Lake Storage Gen2 帐户上授予 correct role assignment,例如 Storage Blob Data Contributor 角色。

第 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 Data Lake Storage Gen2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-01
    • 2022-06-29
    • 2013-01-30
    • 2021-11-09
    • 2020-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多