[新機能]dbtのon-run-startに記述したクエリが失敗した時に後続のModelの実行をスキップできるようになりました
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
さがらです。
dbtの新機能として、on-run-startに記述したクエリが失敗した時に後続のModelの実行をスキップできるようになりました。
簡素な内容になりますが、試してみたので本記事で内容をまとめてみます。
Before
これまでは、on-run-startに設定したクエリが失敗しても関係なく、後続のModelに関するrunやtestが走る仕様でした。

After
dbt_project.ymlに、下記のようにflagsを定義すると、on-run-startに設定したクエリが失敗した時に後続のModelの実行をスキップできるようになります!
flags:
skip_nodes_if_on_run_start_fails: True
この状態でdbt runを実行してみると、Beforeのときと違い、後続のModelが実行されていないことがわかります。

最後に
非常に簡素な内容でしたが、on-run-startに記述したクエリが失敗した時に後続のModelの実行をスキップできることを確認してみました。
on-run-startを利用されている方にとってはとてもありがたい機能だと思いますので、ぜひ設定を有効化してみてください!








