この記事は、dbt の基礎を尊重し、dbt トレイルの開始を支援するためのリソース ハブとなることを目的としています。
dbt を書くとすぐに、定期的に dbt コア 。 dbt Core は、ファイル ウェアハウスの SQL 変換を整理するのに役立つ発信元フレームワークです。 dbt Core は、以前は Fishtown Analytics と呼ばれていた dbt Labs によって開発されました。 同社は基本的に 2016 年 5 月に拠点を置いています。さらに dbt Labs は、dbt Core プロジェクトをホストおよび実行するクラウド製品である dbt Cloud を構築しています。
このリソース ハブでは、主にdbt コアの注意—ie dbt.
まず、dbt が存在する理由を理解しましょう。 dbt は、ますます多くの企業がオンプレミスの Hadoop ファイル インフラストラクチャからクラウド ファイル ウェアハウスに切り替え始めているという予測から生まれました。 このスワップは流行のファイル スタック ビジョンによってリードされています。 2012 年より前のパラダイムでは、ストレージが高価だった結果、ETL を実行するようになりました。ファイル ストレージ — 主にファイル ウェアハウスであり、クエリ用に最適化されたファイルを生成します。
AWS、GCP、Azure などのパブリック クラウドでは、ストレージのマークが下がり、飽くことのないファイルになりました。半分になり、すべてを比較します。 ELTに入ります。 ELT では、重み付けはフラグメントへの変更よりも前に実行され、ファイルは変更されず、未加工のファイルがファイル ウェアハウスで変換される準備ができたままになります。
dbtとは正確には何ですか?)
簡単に言えば、dbt は raw ファイルの上位に位置し、ファイル ソースを定義するすべての SQL クエリを整理します。 そして、dbt は、タスクに関して事実上明らかな ELT の T のみを実行します
dbt は、モジュラー SQL とソフトウェア プログラム エンジニアリングの最も優れたプラクティスを組み合わせて、ファイル変換を素晴らしく、水銀的で、ストレスのないものにするスタイル フレームワークです。
これは、dbt Labs が Web サイトに持っていた時代遅れのマーク ラインでした。 これは、dbt がフレームワークであることを認識するために重要です。 すべてのフレームワークと同様に、それに習熟する前に認識すべき隠しオブジェクトが複数あります。 とても簡単に始めることができます。
天文学的に重要なアイデアがいくつかありますが、追加する前にそれらについて説明します:
dbt CLI
— CLI は Order Line Interface の略です。 あなたが生まれている間に acieve in dbt で、端末ですぐに利用できるようになります dbt 開示します。 このため、たまたま逃げて さまざまなコマンド を使用することをお勧めします。 dbtミッション — dbt ミッション は、動作する dbt オブジェクトの合計を含むフォルダーです。 おそらく、CLI 開示でミッションを初期化する可能性があります: dbt init.
YAML — 流行のファイルの期間 YAML ファイルは各プランにあります。 dbt では、YAML ファイルの構成の形式について説明します。 dbt ミッションでは、念のため、各プランの YAML ファイルについて説明を加えるとよいでしょう。 停止時に dbt が全ファイルを連結して、そこから大きな構成を構築することを考慮する必要があります。 dbt では、.yml 拡張子を使用します。プロフィール.yml — このファイルには、dbt ミッションをファイル ウェアハウスに接続するための資格情報 が含まれています。 デフォルトでは、このファイルは $HOME/.dbt/ にあります。 フォルダ。 ダングル プロファイル ファイルを作成し、–profiles-dir dbt CLI への可能性 。 ウェアハウスへの接続には、dbt アダプター が必要です。 マネキン — マネキンは、机または裂け目として具現化されるリトラクト アサーションです。 ファッションは、ファイル ソースであるため、最も重要な dbt オブジェクトです。 あなたの全体的な業界の適切な判断は、マネキンの撤回ステートメントに含まれている可能性があります。 マネキンが .sql ファイルで定義されており、ファイル名がデフォルトでマネキンのタイトルになっていることを知っているかもしれません。 ひょっとすると、ファッションに関するメタデータを (YAML で) 追加することもできます。 マクロは、使用する最大のマクロです。 マネキンを作成するときは、これらのマクロを使用してファッション間の関係を説明します。 そのため、dbt は、ファッション間の全体的な関係の依存関係ツリーを構築する計画を立てることができます。 これを DAG と呼びます。 明らかに source 関係の説明を与えるsource とソース — ソースは、dbt のドアの外で抽出された机と積荷 (EL) を参照しています。 YAMLファイルのソースについては説明が必要です. ジンジャテンプレート— Jinja はテンプレートエンジンです Python では消滅が見えずに存在しているように見えます。 テンプレート エンジンは、テンプレートをエンジンでレンダリングできるときに置き換えることができる “もの” を含むテンプレートを取得するメカニズムです。 SQL の質問は、ファイル ウェアハウスに対してすぐに実行できる SQL の質問にレンダリング (またはコンパイル) できるテンプレートであるという意図を明確にするためにコンテキスト化されています。 デフォルトでは、二重中かっこを含むジンジャ構文を認識しておくとよいでしょう。例: {{ one thing }} .マクロ — マクロは、1 つのことを作成するか、SQL または部分的な SQL コードを返す Jinja 操作です。 マクロは、他の dbt プログラムからインポートされるか、dbt ミッション内で定義されます。
ref / source macros — ref および ソース ref を 1 つ以上にマネキン—それはさらに別の形式の dbt ソースになります。一言で言えば、dbt トレイルはソース定義から始まります。これらのソースに変更されるファッションについての説明は、ファイルのダウンストリームでの使用に必要なもう 1 つのものです。
ℹ️
dbt のドキュメントは間違いなく重要で素晴らしいインストゥルメントのドキュメントの 1 つであることを述べたいと思います。 . ですから、私たちが望んでいたより良いアイデアを尊重するために、今すぐそこに向かうことを躊躇しないでください。 参照 フラグメントは、操作または構成の詳細なドキュメントであり、ドキュメンテーションの一部で、アイデアとチュートリアルについての詳細です。