DBT 0.13は、新機能の追加sources
私のためには、次の操作を実行するために使用することができます
- モデルの基礎にソーステーブルからデータを選択します
- ソースデータのための仮説検定
- ソース・データが計算され
freshness
ソースのオペレーティング
- ソーステンプレート形式の定義
スキーマは、追加のパラメータを設定する必要があるかもしれませんが含まれている場合、PGの他の種類のことに注意してください、または慣例スキーマによって
#この例では、1つのテーブルを含む `source_1`呼ばれるソースを定義します
# `table_1`と呼ばれます。これは、ソース定義の最小限の例です。
バージョン:2
ソース:
- 名前:source_1
テーブル:
- 名前:のtable_1
- 名前:table_2
- 名前:source_2
テーブル:
- 名前:のtable_1
- データソースのスキーマフォーマット構成
#このソースエントリはテーブルについて説明します。
# "生"。 "公共"。 "Orders_"
#
#それを参照することができます。
#{{ソース( 'eコマース'、 '注文')}}
バージョン:2
ソース:
- 名:eコマース
データベース:生#のテルのDBT「生」データベース内のソースを探すために
スキーマ:公共#あなたはあなたでしょう、公共の場であなたのソースデータを入れていないでしょうか?
テーブル:
- 名前:受注
識別子:Orders_のエイリアステーブル名に#奇妙なケースやテーブルの命名を考慮して
簡単な例
私は、元のフォルダに直接モデルを設定して参照することができhttps://github.com/rongfengliang/dbt-source-demoを、テーブルのデータ構造に
も、このプロジェクトを参照することができます
- (Pythonのvenv管理を使用して)環境の準備
python3 - メートルvenv venv
ソースvenv / binに/ アクティブ
PIP インストールDBTを
- (ドッカー-COMPOSEを使用して)テスト・データベースの準備
バージョン:'3.6'
サービス:
postgresの:
画像:postgresの:9.6.11
ポート:
- "5432:5432"
環境:
- "POSTGRES_PASSWORD:dalong"
graphql - エンジン:
画像:hasura / graphql - エンジン:v1の.0.0 - ベータ0.2
ポート:
- "8080:8080"
depends_on:
- "postgresの"
環境:
- "HASURA_GRAPHQL_DATABASE_URL = postgresの:// postgresの:postgresの@ dalong:5432 / postgresの"
- "HASURA_GRAPHQL_ENABLE_CONSOLE =真"
- "HASURA_GRAPHQL_ENABLE_ALLOWLIST =真"
- モデルソースの設定
モデル
├── アプリケーション
│ ├── app_summary。SQL
│ └── 源。YML
└── ユーザー
├── 源。YML
├── user_summary。SQL
└── user_summary2。SQL
- ソースコンテンツ
非常に単純な、それはテーブルを設定することです
バージョン:2
ソース:
- 名前:アプリケーション
スキーマ:公共
テーブル:
- 名前:アプリケーション
- 業績
DBTの実行
効果
ランニングでDBT = 0.13.1
見つかった3つのモデル、0 テスト、0 アーカイブ、0 分析、94個のマクロ、0 操作、0 シードファイル、2つのソースを
17:43:42 | 並行性:3つのスレッド(目標= 'DEV')
17:43:42 |
17:43:42 | 1 の3 START ビューモデルの公共。app_summary
17:43:42 | 2 の3 START ビューモデルの公共。user_summary
17:43:42 | 3 の3 START テーブルモデルの公共。user_summary2
17:43:44 | 2 の3 OKを作成し、ビューモデルの公衆を。user_summary
17:43:45 | 1 の3 OKを作成し、ビューモデルの公衆を。app_summary
17:43:46 | 3 の3 OK 作成したテーブルモデルの公共。user_summary2
17:43:46 |
17:43:46 | 完成した実行中の2つのビューモデル、1つのテーブルモデルで4.46 秒。
完了に成功
完了。PASS = 3 ERROR = 0 SKIP = 0 TOTAL = 3