問題タブ [dbt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
snowflake-cloud-data-platform - CI 一時スキーマが削除されない
最近、dbt Cloud で CI 機能を有効にしました。彼らのドキュメントには、
PR がクローズされると、dbt Cloud は一時スキーマを削除します。
しかし、PR を閉じた後、これらのスキーマは実際には削除されていないようです。
ここで何が起こっているか知っている人はいますか?
jinja2 - jinjaを使用してdbtでクエリするスキーマのリストを動的に取り込む
複数のスキーマからデータを取り込むデータ パイプラインを構築しています。jinja を使用してスキーマ名のリストを取り込み、データを 1 つのステージング テーブルに結合する前に、これらすべてのスキーマで (同じ名前の) テーブル内の特定の列をクエリしようとしています。
概念レベルでは、Jinja を使用して 2 つのリストを作成する必要があることはわかっています。1 つはschema
ループする名前のリスト、もう 1 つはすべてのスキーマに存在するテーブルで照会する列名のリストです。問い合わせています。schema_names
スキーマ名のリストと列名のリストを呼び出しましょうcolumn_names
。
{% set var schema_names=('brand1', 'brand2', 'brand3') %}
{% set var column_names=('col1', 'col2', 'col3') %}
理論的には、次のステップは、Jinja を介してこれらの値をクエリに渡し、スキーマ内のテーブルから同じ列のリストを選択することschema_vars
です。SQL クエリを手動で記述するとしたら、いくつかのWITH
ステートメントを使用し、それらを次のように組み合わせて使用しUNION ALL
ます。
これを Jinja/dbt でどのように実装するのが最適かについての考えはありますか? また、データ パイプラインによって処理される単一のステージング テーブルに、異なるスキーマ内の同一のテーブルからの情報を結合するために異なるアプローチを取る、問題の代替フレーミングにも開かれています。