在属性名中使用secret的数据块Spark配置

mgdq6dx1  于 2023-05-18  发布在  Apache
关注(0)|答案(2)|浏览(216)

是否可以在我的属性名称中引用databricks secret,如下所示:

fs.azure.account.auth.type.{{secrets/my_scope/my_secret1}}.dfs.core.windows.net OAuth
fs.azure.account.auth.type.{{secrets/my_scope/my_secret2}}.dfs.core.windows.net OAuth

还是只允许对指定的值使用secrets?
我的数据块工作流失败,并显示当前消息Failure to initialize configuration for storage account [REDACTED]。dfs.core.windows.net:Invalid configuration value detected for fs.azure.account. key Invalid configuration value detected for fs.azure.account.key
我不是100%肯定这是一个问题的配置,所以我只是想确保这是可能的,然后再寻找其他问题

pbwdgjma

pbwdgjma1#

不,这是不可能的- secrets由完整的值匹配,而不是在字符串中替换-文档中有描述。它也很容易检查。例如,如果你用这样的值启动一个集群,然后使用Scala代码段过滤出必要的值:

%scala

spark.conf.getAll.filter { _._1.contains(".dfs.core.windows.net")}

那么你应该得到这样的东西:

res1: scala.collection.immutable.Map[String,String] = Map(
  fs.azure.account.auth.type.{{secrets/my_scope/my_secret1}}.dfs.core.windows.net -> OAuth
)

表明没有发生替换。错误消息有点误导,因为它检测到您引用了机密并对其进行了编辑。

j5fpnvbx

j5fpnvbx2#

我认为在Databricks community forum上问这个问题可能更好,因为它是非常特定于产品的,而不是一般的编程问题。另外,我建议阅读secret redaction的文档。我认为这样的替换是可能的,因为它在打印的笔记本输出中显示为[REDACTED]表明它被正确插入。

相关问题