你好,
我試圖在全球設立了磚存儲帳戶訪問的init腳本。根據Azure磚與驅動程序配置文件創建集群的集群(https://learn.microsoft.com/en-us/azure/databricks/archive/compute/configure spark-configuration),我寫代碼,但是我不確定是否正確的格式以及如何引用的秘密。
我測試了init腳本,得到這個錯誤:
錯誤ProjectConf $:未能解析配置文件' / / conf / 00-custom-spark-driver-defaults磚/驅動程序。相依的,跳過……
com.typesafe.config。美元ConfigException解析:文件:/ / conf / 00-custom-spark-driver-defaults磚/驅動程序。配置:8:在價值關鍵”fs.azure.account.oauth2.client.secret.adlssaprdraw.dfs.core.windows.net”:預計關閉括號或一個字段名,有“{”
com.typesafe.config.impl.Parser ParseContext.parseError美元(Parser.java: 435)
你能幫助嗎?
謝謝!
我的代碼:
spark_defaults_conf = " /磚/司機/ conf / 00-custom-spark-driver-defaults.conf”
貓< < EOF > spark_defaults_conf美元
(司機){
”fs.azure.account.auth.type.adlssadevraw.dfs.core.windows.net”=“OAuth”
”fs.azure.account.oauth.provider.type.adlssadevraw.dfs.core.windows.net”=“org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider”
”fs.azure.account.oauth2.client.id.adlssadevraw.dfs.core.windows.net”=“444 aef64-8f39-41c0-b769-e312d20be27f”
”fs.azure.account.oauth2.client.secret.adlssadevraw.dfs.core.windows.net”={{秘密/ dev-kv-01-scope / databricks-dev-01-sp}}
”fs.azure.account.oauth2.client.endpoint.adlssadevraw.dfs.core.windows.net“=”https://login.microsoftonline.com/c499ec336 - 2375 - 432 - e - 92 - f5 - 63 cbbc442ad57/oauth2/token”
}
EOF
嗨@Shelly肖,謝謝你接觸關於你問題建立一個磚存儲帳戶訪問全球init腳本。似乎錯誤有關您的配置文件的格式,你參考這個秘密。
首先,配置文件的格式應該HOCON格式,不是JSON。這意味著你不需要雙引號鍵和值。
此外,如果你使用最好
dbutils圖書館訪問個人價值而不是直接在配置文件中引用它。
這是修改後的版本的代碼:
spark_defaults_conf = " /磚/司機/ conf / 00-custom-spark-driver-defaults.conf”# Get the secret value using dbutils client_secret=$(dbutils.secrets.get(scope = "dev-kv-01-scope", key = "databricks-dev-01-sp")) cat << EOF > $spark_defaults_conf [driver] { fs.azure.account.auth.type.adlssadevraw.dfs.core.windows.net = OAuth fs.azure.account.oauth.provider.type.adlssadevraw.dfs.core.windows.net = org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider fs.azure.account.oauth2.client.id.adlssadevraw.dfs.core.windows.net = 444aef64-8f39-41c0-b769-e312d20be27f fs.azure.account.oauth2.client.secret.adlssadevraw.dfs.core.windows.net = $client_secret fs.azure.account.oauth2.client.endpoint.adlssadevraw.dfs.core.windows.net =https://login.microsoftonline.com/c499ec336 - 2375 - 432 - e - 92 - f5 - 63 cbbc442ad57/oauth2/token}EOF
請注意,使用dbutils在init腳本中,您需要在一個Python環境中運行腳本。
您可以創建一個Python腳本,並運行它作為一個init腳本訪問的秘密和完整的配置文件。
我希望這可以幫助解決你的問題。如果你有任何進一步的問題或需要額外的幫助,請與我們取得聯係。