Data Engineering

dbt - 高度な機能

Jinjaマクロ、カスタムテスト、パッケージ、フック、スナップショット (SCD)、incremental models、dbt Cloud、CI/CD

20 面接問題·
Senior
1

dbtにおいて、Jinjaマクロの主な目的は何ですか?

回答

Jinjaマクロは、複数のdbtモデルでコードを再利用できるようにします。パラメータを受け取り、動的に生成されたSQLコードを返す関数のように動作します。これによりコードの重複を回避し、プロジェクト全体で複雑な変換を保守しやすくなります。

2

ファイル内で再利用可能なdbtマクロを定義するにはどうすればよいですか?

回答

dbtマクロは、macrosフォルダ内の.sqlファイルでJinjaのmacro/endmacro構文を使用して定義されます。マクロ名はmacroキーワードの後に指定し、パラメータを括弧で囲みます。このマクロはプロジェクト内の任意のモデルから呼び出すことができます。

3

dbtスナップショットの「timestamp」戦略と「check」戦略の違いは何ですか?

回答

timestamp戦略は、変更を検出するために更新日付列(updated_at)を比較します。1つの列のみを比較するため、パフォーマンスが高くなります。check戦略は、指定された列(check_cols)の値を比較して変更を検出します。信頼できるtimestamp列がない場合に便利です。

4

dbtがスナップショットを作成する際に自動的に追加される列はどれですか?

5

dbtで「merge」戦略を使用してincrementalモデルを構成するにはどうすればよいですか?

+17 面接問題

次の面接に向けてData Engineeringをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める