首页 > 解决方案 > 使用服务主体从 ADLS Gen2 读取文件时,检测到 fs.azure.account.key 的错误配置值无效

问题描述

使用服务主体从 ADLS 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": "<your-service-client-id>",
           "fs.azure.account.oauth2.client.secret": dbutils.secrets.get(scope 
           = "<scope-name>", key = "<key-name>"),
           "fs.azure.account.oauth2.client.endpoint": 
           "https://login.microsoftonline.com/<your-directory-id>/oauth2/token"}

下面的代码用于读取文件:

df=spark.read.csv('abfss:
//tempfile@tempaccount.dfs.core.windows.net/temp.csv')

出现以下错误:

检测到 fs.azure.account.key 的配置值无效

标签: azure-data-lakeazure-databricks

解决方案


您可以尝试以下方法:

而不是这一行:

"fs.azure.account.oauth2.client.secret": dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>"),

尝试如下使用:

"fs.azure.account.oauth2.client.secret": "<key-name>",

希望这可以帮助。


如果这回答了您的问题,请单击“标记为答案”和“投票”。而且,如果您有任何进一步的疑问,请告诉我们。


推荐阅读