dbt Analytics Engineer 認定は、データウェアハウス上での変換(T)を設計・実装・品質保証するスキルを測る、ベンダ非依存の実務寄り資格だ。SQL とモデリング、テスト、自動化を横断的に問う。
本稿では、周辺ベンダ資格との位置関係、頻出トピック、学習計画、設計と運用の要点、試験テクニックまでを、実務の視点で整理する。
dbt Analytics Engineer 認定は、データ変換パイプラインの中心で「再現可能なモデリング」「信頼できるテスト」「ドキュメンテーションと運用の仕組み化」を実践できる人を想定している。対象はアナリティクスエンジニア、データアナリスト上級者、あるいは DWH 上の T を担当するデータエンジニアだ。
Snowflake や Databricks のようなプラットフォーム資格は基盤機能・運用を深掘りする。一方 dbt は“変換の作法”が主題であり、複数の DWH 上で通用する。現場では、プラットフォーム資格で基盤理解を押さえつつ、dbt 資格で変換の設計・品質・運用を担保する組み合わせが堅い。
| 資格 | 主な対象領域 | 試験の特徴 | 実務での主軸 |
|---|---|---|---|
| dbt Analytics Engineer | モデリング/テスト/ドキュメント/オーケストレーション | ベストプラクティス選択・概念重視・ベンダ非依存 | 変換(T)の設計、品質担保、運用設計 |
| Databricks Data Engineer Associate | レイクハウス/Delta/ETL・最適化 | Spark/Delta のAPI・アーキ理解 | バッチ/ストリーミングETL、パフォーマンス最適化 |
| SnowPro Core | Snowflake アーキテクチャ/セキュリティ/SQL | サービス構成・機能とベストプラクティス | アカウント設計、権限、コスト最適化 |
Analytics Engineer の居場所(責務の重なり)
試験はコマンド丸暗記よりも、設計判断とベストプラクティスを重視する。実務の作業単位に落として覚えると定着が早い。
特に、モデルの依存関係管理、テスト設計、スナップショットと鮮度、ドキュメントとカタログ、そしてジョブ運用の要点は頻出だ。
用途不問の軽量DWH(DuckDB/SQLite でも可)でミニプロジェクトを1つ作り、各週で成果物を増やす。試験用メモは「判断理由」を書き残すことがポイント。
既存のDWH(Snowflake/Databricks)を使えるなら、権限やコストに注意しつつ本番に近い構成で練習する。
レイヤリングは試験でも実務でも基盤。stg は生ソースの正規化・軽整形、中間層は結合・集約・ビジネスロジック、marts は消費最適化(ディメンション/ファクト)に徹する。
materialized は目的で選ぶ。view は軽量・即時反映、table は安定供給、incremental は大規模での再計算回避、ephemeral は一時的なサブクエリで依存を増やさない。
incremental では、一意キーで更新を識別し、変更分のみを取り込む。遅延到着の扱いとデータ品質テストの併用まで含めて設計できるかが評価される。
incremental モデルの最小パターン(概念例)
{{ config(
materialized='incremental',
unique_key='order_id'
) }}
with src as (
select
order_id,
customer_id,
amount,
updated_at
from {{ source('app', 'orders') }}
)
select *
from src
{% if is_incremental() %}
-- 変更検知の一例(概念)。更新時刻で増分取得。
where updated_at > (
select coalesce(max(updated_at), '1970-01-01') from {{ this }}
)
{% endif %}tests はデータ契約。not_null/unique/relationships/accepted_values を中心に、重大度(severity)で運用の振る舞い(警告か失敗か)を制御する。スキーマの安定性に合わせて配置(stg で構文的、marts でビジネス制約)を分ける。
source と freshness は上流の健全性を監視する仕組み。遅延到着が常態なら閾値を適切に設定し、失敗時の通知と再実行をジョブで一貫化する。
スナップショットは履歴保持の標準手段。行の同一性キーと変更検知方針(例:列値の変化を検知)を決め、履歴列の自動付与で有効期間を管理する。
設問は“何を作るか”ではなく“どう判断するか”を問う。要件(SLA、粒度、履歴、品質、運用)に対し、最小の仕組みで満たす選択肢を選ぶのが基本。
ひっかけは、粒度不一致、ref/source の取り違え、incremental の誤用(キー不在/全件上書き)、tests の不足や severity 誤設定など。
Analytics Engineer
問題 1
顧客属性の過去値を履歴として保持し、変更があった時に有効期間を管理したい。dbt で最も適切なアプローチはどれか。
正解: A
履歴管理(SCD Type 2)の要件にはスナップショットが適合する。スナップショットは同一性キーと変更検知戦略を指定し、有効期間列を自動で管理する。incremental は更新効率化が主目的で、履歴列の自動管理は行わない。seed は静的データ向け、マクロだけでは永続的な履歴保持にならない。
dbt Cloud と dbt Core のどちらで学ぶべきですか?
どちらでも合格は可能。Cloud はジョブや環境分離、UI でのドキュメント参照が整っており運用像を掴みやすい。Core はローカル中心だが Git/CI と組み合わせて同等の実務を再現できる。試験は両者に共通する概念(モデリング、tests、ref/source、スナップショット、選択子など)を重視する。
メトリクスや新機能はどの程度出題されますか?
試験は安定した基礎(モデル、tests、ドキュメント、スナップショット、運用)に比重がある。機能の細かなバージョン差異に依存せず、設計判断を問う傾向が強い。最新機能は公式ドキュメントで追いつつも、土台の設計原則に学習時間を配分するのが安全。
どのデータウェアハウス前提で勉強すればよいですか?
dbt はベンダ非依存の変換レイヤであり、どの DWH でも通用する概念を学ぶのが基本。手元では Snowflake や Databricks、あるいは DuckDB など入手しやすい環境で構わない。SQL の基礎と、adapter による振る舞いの差(例: 一部のマテリアライゼーションの最適化差)を把握しておけば十分。
NicheeLab編集部
データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。
dbt Model の基礎: SQL で定義する変換の最小単位
Analytics Engineer 向けに、dbt Model の定義、マテリアライゼーション、依存関係、インクリメン...
dbt Analytics Engineer 試験ガイド: 出題範囲・配点・申込の実務視点
dbt Analytics Engineer 認定の出題範囲、配点の考え方、申込から受験までの流れを、公式ドキュメントの...
dbt Cloud と dbt Core の違いと選び方:Analytics Engineer 試験に効く要点
dbt Cloud と dbt Core の機能差を、実務と資格対策の両面から整理。スケジューリング、IDE、RBAC、...
dbt プロジェクト構造ガイド: models / seeds / macros の実務レイアウト
Analytics Engineer 向けに、dbt プロジェクトのディレクトリ構造と命名規約、dbt_project....
dbt_project.yml の読み方:主要設定と命名を最短で掴む
dbt_project.yml の必須キー、命名解決(database.schema.identifier)、設定優先度...