問題タブ [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.

0 投票する
1 に答える
258 参照

snowflake-cloud-data-platform - CI 一時スキーマが削除されない

最近、dbt Cloud で CI 機能を有効にしました。彼らのドキュメントには、

PR がクローズされると、dbt Cloud は一時スキーマを削除します。

しかし、PR を閉じた後、これらのスキーマは実際には削除されていないようです。

ここで何が起こっているか知っている人はいますか?

0 投票する
1 に答える
2411 参照

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 でどのように実装するのが最適かについての考えはありますか? また、データ パイプラインによって処理される単一のステージング テーブルに、異なるスキーマ内の同一のテーブルからの情報を結合するために異なるアプローチを取る、問題の代替フレーミングにも開かれています。