こちらでも紹介されている意外に便利な機能、自分でも試してみました。
アプローチはPythonのセルでspark.confのプロパティを設定し、SQLのセルから参照するというものです。
Pythonセルで変数を設定
データベース名とテーブル名を設定するものとします。spark.conf.set
にプロパティ名と値をペアで設定します。
注意
ここで第一引数に設定するプロパティ名は.
で区切ったプレフィックスを指定してください。以下の例ではプレフィックスはc
ですが、任意の文字列を指定ください。
Python
%python
spark.conf.set('c.database_name', '20210712_demo_takaakiyayoi')
spark.conf.set('c.table_name', 'eki_movement')
SQLセルで変数を参照
SQLのセルからプロパティの値を参照します。なお、こちらのデータベースやテーブルが存在することを前提としています。
SQL
%sql
SELECT * FROM ${c.database_name}.${c.table_name}