使用服务主体从 ADLS Gen2 读取文件时出现错误,检测到 fs.azure.account.key 的配置值无效
Getting error Invalid configuration value detected for fs.azure.account.key while reading file from ADLS Gen2 using service principal
我在使用服务主体从 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')
出现以下错误:
Invalid configuration value detected for fs.azure.account.key
您可以尝试以下方法:
而不是这一行:
"fs.azure.account.oauth2.client.secret": dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")
,
尝试如下使用:
"fs.azure.account.oauth2.client.secret": "<key-name>",
希望对您有所帮助。
如果这回答了您的问题,请点击“标记为答案”并点击 "Up-Vote"。而且,如果您有任何进一步的疑问,请告诉我们。
定义配置后,您还需要进行设置。
[spark.conf.set(key, value) for (key, value) in configs.items()]
我在使用服务主体从 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')
出现以下错误:
Invalid configuration value detected for fs.azure.account.key
您可以尝试以下方法:
而不是这一行:
"fs.azure.account.oauth2.client.secret": dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")
,
尝试如下使用:
"fs.azure.account.oauth2.client.secret": "<key-name>",
希望对您有所帮助。
如果这回答了您的问题,请点击“标记为答案”并点击 "Up-Vote"。而且,如果您有任何进一步的疑问,请告诉我们。
定义配置后,您还需要进行设置。
[spark.conf.set(key, value) for (key, value) in configs.items()]