LoginSignup
2
1

Databricks SQLのクエリエディタでテーブル名をパラメータにしたい

Last updated at Posted at 2023-12-07

表題の件、以前は「これはできないのかな」と思っていたらできました。

クエリーパラメータとは、SQLクエリーで{{}}を用いるとその部分をパラメータ化でき、ウィジェットから値を指定できるようになる機能です。

WHERE句で使う分には問題ないのですが、以下のようにテーブル名をパラメータにしようとすると、

SELECT
  *
FROM
  {{ tablename }}

以下のようにテーブル名の前後にクォーテーションが入ってしまい、パースエラーになってしまいます。

[PARSE_SYNTAX_ERROR] Syntax error at or near ''takaakiyayoi_catalog.japan_covid_analysis.covid_casesa''.line 4, pos 2

そこで登場するのがこちら。IDENTIFIER句です。文字列を受け取り、テーブル・ビュー、カラムなどとして解釈します。

クエリーをこのように変更します。

SELECT
  *
FROM
  IDENTIFIER({{ tablename }})

下にウィジェットが表示されるので、テーブル名を入力します。
Screenshot 2023-12-07 at 16.23.18.png

Screenshot 2023-12-07 at 16.24.03.png

動きました!
Screenshot 2023-12-07 at 16.34.59.png

Databricksクイックスタートガイド

Databricksクイックスタートガイド

Databricks無料トライアル

Databricks無料トライアル

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1