从 Databricks 访问 Azure 数据存储

标签 azure apache-spark azure-storage databricks

我无法从 Databrikcs 访问 Azure Data Lake Storage。

我没有高级 Azure Databricks 服务。我正在尝试根据最新文档直接访问 ADLS Gen 2:https://learn.microsoft.com/en-us/azure/databricks/data/data-sources/azure/adls-gen2/azure-datalake-gen2-sp-access#access-adls-gen2-directly

  • 我已授予此帐户服务原则“贡献者权限”

这是来自笔记本的错误消息: 操作失败:“此请求无权使用此权限执行此操作。”,403,GET,https://geolocationinc.dfs.core.windows.net/instruments?upn= false&resource=filesystem&maxResults=500&timeout=90&recursive=false, AuthorizationPermissionMismatch, "此请求无权使用此权限执行此操作。 ...;

这是我的 Spark 配置设置:

spark.conf.set("fs.azure.account.oauth.provider.type.<storage-account-name>.dfs.core.windows.net", "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider")
spark.conf.set("fs.azure.account.oauth2.client.id.<storage-account-name>.dfs.core.windows.net", "<application-id>")
spark.conf.set("fs.azure.account.oauth2.client.secret.<storage-account-name>.dfs.core.windows.net", dbutils.secrets.get(scope="<scope-name>",key="<service-credential-key-name>"))
spark.conf.set("fs.azure.account.oauth2.client.endpoint.<storage-account-name>.dfs.core.windows.net", "https://login.microsoftonline.com/<directory-id>/oauth2/token")```

最佳答案

正确的角色是“存储 Blob 数据贡献者”而不是“贡献者”。

关于从 Databricks 访问 Azure 数据存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71417291/

相关文章:

apache-spark - spark streaming是不是一定要处理完上一批数据,才能处理下一批数据,对不对?

azure - 在 DocumentDB 中划分租户和主机名的最佳方法是什么?

java - Azure webapp HTTP 状态 404 – 未找到

apache-spark - Tensorflow 在亚马逊 EMR 5.16 上碾压 JVM

azure - 无法删除启用版本控制的 Azure 存储帐户

c# - 获取没有分区键的azure表中的所有实体

Azure 文件 : System error 64 has occurred

azure - Windows Azure 预览版的新功能

azure - Terraform 支持哪些 Azure API 版本?

python - PySpark HDFS 数据流读/写