タイトル通りですが、Databricks secretsに登録した認証情報をSQL言語のセルで利用しようとしたら少しハマったので書き残し。
普通にPythonのセルで使う方が楽だと思います。
やったこと
こちらを参考にクラスター設定内の下部「高度なオプション」のSparkタブに以下を設定。
ini
spark.user {{secrets/conection/user}}
spark.password {{secrets/conection/password}}
その上で下記のようなクエリをNotebookから実行
SQL
CREATE OR REPLACE TEMP VIEW xxx
USING xxx.jdbc
OPTIONS (
url "xxx",
dbtable "xxx",
user "${spark.user}",
password "${spark.password}",
driver "xxx"
)
すると下記のようなエラーが発生しました。
Error in SQL statement: SparkSecurityException: Cannot read sensitive key 'spark.fernet' from secure provider
解決策
これの通りに下記をクラスター設定内の下部「高度なオプション」のSparkタブに以下を追記。
ini
spark.databricks.secureVariableSubstitute.enabled false
ちなみに私はValiableってタイポして30分ぐらい潰しました。
不正な設定値になってても気付きづらいのはなかなかつらいですね。