こんにちは、普段は分析基盤や分析のお仕事をしている新田です。 この記事では、AirflowでJinjaテンプレートを活用したSQLクエリを動的に生成し、BigQueryでそのクエリを実行する方法をまとめます。 JinjaはPythonのテンプレートエンジンで、HTMLを動的に生成するために使われることが多いですが、SQLでも「大体同じなのに少し違うクエリ」が複数あるようなときに大活躍しますよ。 AirflowでJinjaテンプレートを使う方法AirflowはなんとデフォルトでJinjaテンプレートエンジンをサポートしています。 特に何もしなくてもDAGでJinjaのプレースホルダや変数をタスクのパラメータやクエリ内で直接使用することができます。 また、Operatorに引数を渡すことで渡した引数を埋め込むことができます。 SQLのテンプレートファイルを作成するまずは、SQLファイルを作成し
![AirflowでJinjaテンプレートを使ってSQLを実行する - 株式会社ライトコード](https://cdn-ak-scissors.b.st-hatena.com/image/square/ab097b33d706ae7ecf23b5ddf85030aafb049b77/height=288;version=1;width=512/https%3A%2F%2Frightcode.co.jp%2Fwp-content%2Fuploads%2F2023%2F11%2Fairflow-jinja-sql_tmb.png)