繁体   English   中英

在 spark 集群配置数据块中参数化 azure 存储帐户名称

[英]parameterize azure storage account name in spark cluster config databricks

想知道这是否是在 Databricks 的 spark 集群配置中参数化 azure 存储帐户名称部分?

我有一个工作示例,其中值引用秘密范围:

spark.hadoop.fs.azure.account.oauth2.client.id.<azurestorageaccountname>.dfs.core.windows.net {{secrets/keyvault_secret_scope/sp-id}}
spark.hadoop.fs.azure.account.oauth.provider.type.<azurestorageaccountname>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
spark.hadoop.fs.azure.account.oauth2.client.endpoint.<azurestorageaccountname>.dfs.core.windows.net https://login.microsoftonline.com/05646f53-5e81-4a6a-85f5-a1ee2189bea4/oauth2/token
spark.hadoop.fs.azure.account.auth.type.<azurestorageaccountname>.dfs.core.windows.net OAuth
spark.hadoop.fs.azure.account.oauth2.client.secret.<azurestorageaccountname>.dfs.core.windows.net {{secrets/keyvault_secret_scope/sp-secret}}

但是,如果我在按键上尝试,这将不起作用:

spark.hadoop.fs.azure.account.oauth2.client.id.{{secrets/keyvault_secret_scope/azurestorageaccountname}}.dfs.core.windows.net {{secrets/keyvault_secret_scope/sp-id}}
spark.hadoop.fs.azure.account.oauth.provider.type.{{secrets/keyvault_secret_scope/azurestorageaccountname}}.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
spark.hadoop.fs.azure.account.oauth2.client.endpoint.{{secrets/keyvault_secret_scope/azurestorageaccountname}}.dfs.core.windows.net https://login.microsoftonline.com/05646f53-5e81-4a6a-85f5-a1ee2189bea4/oauth2/token
spark.hadoop.fs.azure.account.auth.type.{{secrets/keyvault_secret_scope/azurestorageaccountname}}.dfs.core.windows.net OAuth
spark.hadoop.fs.azure.account.oauth2.client.secret.{{secrets/keyvault_secret_scope/azurestorageaccountname}}.dfs.core.windows.net {{secrets/keyvault_secret_scope/sp-secret}}

如果不可能,您如何替换环境之间的集群配置? 我需要 azure 存储帐户名称在 DEV 和 PROD 中有所不同。

如果配置特定的存储帐户不是必须具备的要求,那么您可以尝试执行以下操作。 在我的例子中,我有一个服务主体可以访问多个存储帐户,我的 Data Brick 集群配置如下所示以使用 oAuth2。 我正在使用 AKV 来存储我的 ClientId 和 Secret 以及一个秘密 scope。我还注意到您在 diff 环境中提到了不同的存储帐户名称。 这将自动处理,因为您没有定义特定的 SAs,但无论哪个 SAs 具有适当的权限,您的集群都会尊重它。 如果它没有帮助,请原谅,因为这是我在这里的第一篇文章。

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 {{secrets/akv-xx -xx-db2akv-scope/akv-ak-databricks-clientid}} fs.azure.account.oauth2.client.secret {{secrets/akv-xx-xx-db2akv-scope/akv-ak-databricks-secret}} fs.azure.account.oauth2.client.endpoint https://login.microsoftonline.com/xxxxxx/oauth2/token

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM