🐕

airflowでdbt-duckdbをぶん回す!!

2023/09/17に公開

airflowでdbt-duckdbをぶん回すのに数時間もかけてしまった・・・
とりあえず備忘録として残します。
といっても、Snowflakeでブン回す記事と大体同じで、一部dbt-duckdb用にカスタマイズしたので、そこだけ書きます。

環境構築

9割ほど以下の記事の内容と被るので、割愛します。
profiles.ymlの接続先をdbt-duckdbに変更するだけで大丈夫です。
https://zenn.dev/kyami/articles/a37d47d183cae8

はまったポイント

Snowflakeと同じパーミッションエラーです。

IO Error: Cannot open file "/opt/***/dbt/jaffle_shop_pj/jaffle_shop.duckdb.wal": Permission denied

WAL(ライトアヘッドロギング)ファイルへのアクセスが拒否されているっぽい?
duckdbの動き的にduckdbのDBに書き込む際に一時的にWALファイルが生成されてるっぽいんですけど、そのファイルの作成やら書き込みやらでコケてる説ですね。

私が取った手法が正解か分からないですが、とりあえず回避策はWALファイルを作成します。
しかも権限をフル開放です。

touch jaffle_shop.duckdb.wal
chmod 777 jaffle_shop.duckdb.wal

これでとりあえずは動いたので、もう少し記事を漁って使い方を調査したいと思います。

Discussion