遅かれ早かれ、アナリストはデータの整理の問題に直面します。それらはますます増えており、構造はもはや透過的ではなく、同じSQLクエリを数回書き直す必要があります。この問題を解決するには、dbtを使用できます。これは、データの変換とモデリングへの新しいアプローチを開くツールです。カットの下には、dbtとは何か、そしてそれがアナリストの作業を容易にするのにどのように役立つかについてのDavidCrewittの優れた記事の翻訳があります。
dbt(データビルドツール)は、SQLクエリを実行、テスト、および文書化するためのオープンソースフレームワークであり、ソフトウェアエンジニアリングの要素をデータ分析プロセスにもたらします。
これは、データを分析するときに自分自身を繰り返さないようにするための怠惰なツールボックスの優れた部分です。
保存されたクエリの置き換え
すべてのSQLクエリは良い家に値します。dbtでは、SQLクエリは構造化され、プロジェクトフォルダーに編成されているため、すべてのチームメンバーは常にクエリの場所を知っています。
クエリを実行する必要があるたびに、dbtrunコマンドを使用します。
このコマンドは、dbtプロジェクト内のSQLモデルのコレクションを取得し、データストア内でそれらを更新します。
シンプルだが効果的。
これは、SQLクエリのフラグメントをデスクトップや宝箱のような他の場所に保存する必要がなくなったことを意味します。
— . - , .
dbt — , .
ref(‘ ‘)
dbt * * SQL-, {{ ref(‘model name’) }}.
:
, . dbt , , :
/admin
/base
/join /
/math (, ) ( . .)
/visualization + , .
, .
« Google Analytics?»
base -> google-analytics.
« ?»
Math -> cohort-analysis.
SQL-. dbt — Monster Queries™, .
SQL
dbt SQL- : + JINJA.
SQL- .
, CASE 15 :
CASE WHEN x = y THEN z
WHEN 2x = 2y THEN 2z
--… .
— , :
dbt SQL .
dbt dbt_utils, .
, CIFL :
JINJA
, : FOR, IF-THEN . .
dbt SQL-, JINJA.
, SQL- , .
1 №2 №9.
2 №4 №11.
, « » .
dbt :
dbt , JINJA:
, , , , . «» .
dbt + Git
dbt + Git . «Pull Requests» «Issues». SQL- Slack/Notion/email.
:
SQL- , . — .
, . , .
SQL , .
SQL-
« ?» – .
dbt .
Fishtown Analytics (, dbt) dbt Cloud, hosted dbt .
dbt Cloud , .
, — $50 .
«»
« ?»
« ?»
— . :
, .
, , , , 100% , , .
, — , , , .
, : , Google BigQuery Google Data Studio.
dbt :
`dbt docs` , SQL .
dbt + .yml .
BigQuery:
Data Studio:
(Snowflake . .) (Looker . .) . , .
?
, , . , , .
dbt .
, - , dbt . JOIN , dbt .
, SQL- , dbt .
— BigQuery, Snowflake PostgreSQL — , SQL. BigQuery Snowflake Redshift BigQuery, SQL, .
dbt ! . dbt . dbt , ( , , MS SQL).
CIFL , , , .
dbt
チームでdbtの実装に取り組む準備ができている場合は、次のことが役立ちます。
dbtを使用したデータモデリングの概要を含む無料コース「BigQuerySQL入門」。
最近開始されたBuildYour Data Agencyコースでは、dbtベースのデータ分析について詳しく説明しています。