本稿は、dbt Analytics Engineer 認定試験をオンラインで受験した際の“当日の動き”に焦点を当てた合格体験記です。準備論や教材選びは最小限にし、チェックインから見直しまでの具体的手順、迷いやすい論点、想定トラブルと切り返しをまとめました。
試験仕様や監督ポリシーは更新される可能性があるため、細部は必ず公式サイト(dbt Docs と Certification ページ)で最新情報を確認してください。ここではバージョン非依存の安定した原則と、実務でも通用する判断軸のみを扱います。
受験はオンライン監督下で行われます。開始前に身分証の確認、作業環境のカメラ確認、画面共有やブラウザ拡張の起動などが入るため、予定開始時刻の15〜20分前にはログインして待機するのが安全です。デスクは整理し、余計な機器や紙資料は片付けておきます。
試験画面に入ると、受験ルールの同意、監督員(または自動監督)の指示確認、簡単なシステムチェックを経て問題冊子が開きます。UIにはフラグ(後で見直すマーク)や残り時間表示があるケースが一般的です。外部サイト参照は不可で、監督ツールのホワイトボード等が提供されることがあります。
| 項目 | 所要目安 | 注意点 |
|---|---|---|
| チェックイン〜環境確認 | 10〜15分 | ID提示・室内スキャン・拡張機能の許可 |
| ルール確認〜試験開始 | 3〜5分 | ホワイトボード機能の有無を確認 |
| 解答と見直し | 試験時間全体 | フラグ活用・時間配分・消去法 |
| 提出〜退出 | 2〜3分 | スクリーン指示に従い終了 |
オンライン受験の流れ(概念図)
身分証は明瞭に撮影できるよう、反射しにくい照明角度を事前に確認しておきます。室内スキャンはカメラで机の上・周囲・壁面などを映すよう求められることが多く、紙資料や追加モニタは片付けておくとスムーズです。
ブラウザ拡張やスクリーン共有の許可ダイアログは、OSのセキュリティ設定次第でつまずきやすいポイントです。前日にテストランチャーで動作確認しておくと、当日のリスクをかなり下げられます。
最初の1周は深追いしない方針が有効です。即答できる問題を確実に拾い、迷うものはフラグを付けて先へ進みます。2周目でフラグ問題に集中し、選択肢の“誤りパターン”を消去法で潰していくと精度が伸びます。
dbt文脈では、用語の粒度や作用範囲(モデル/ソース/スナップショット/エクスポージャ)を正確に言い換えられるかが勝負どころです。選択肢が似ていても、責務境界と実行タイミングに着目すると切り分けやすくなります。
試験は原則クローズドブックです。docs.getdbt.comにある安定概念を“言語化して説明できる”状態にしておくのが近道です。以下は混同されやすい領域と、実務での判断基準です。
インクリメンタルやテスト、ソース新鮮度、スナップショットの使い分けは、更新パターン(追加のみ・上書きあり・履歴保持の要否)と、可観測性(いつ・どこで検知/失敗させるか)で整理すると誤答を避けられます。
| 領域 | 要点(安定概念) | よくある誤解 | 試験での見抜き方 |
|---|---|---|---|
| materialization(table/view/ephemeral/incremental) | DAGノードの物理化戦略。コスト/再計算頻度と整合 | ephemeralを“永続化される軽量テーブル”と思い込む | “永続化の有無”と“呼び出し側のCTE展開”をキーワードに判定 |
| incremental + unique_key | 追加・更新の差分適用。merge戦略は一意キー前提 | is_incrementalがない/一意キー未指定でも動く前提 | フィルタとunique_keyの両輪が書かれている選択肢を優先 |
| tests(generic/singular) | genericは再利用、singularは柔軟。失敗時はrunを止めうる | source freshnessと“内容検証テスト”を混同 | “鮮度=遅延検知、品質=内容検証”の2軸に分解 |
| source vs seed vs snapshot vs exposure | source=外部データ、seed=CSV取込、snapshot=履歴、exposure=下流公開 | exposureを“メタデータ付きモデル”と解釈 | “利用者・出力物(BI/Notebook/Feed)”の記述があればexposure |
| run/build/test/docs | buildはrun+test(+依存解決)。docsはメタデータ生成 | buildとrunの同義扱い | “テストを含む/含まない”で見分ける |
インクリメンタルモデルの最小実装(試験での思考整理用)
-- models/fct_orders.sql
{{ config(
materialized='incremental',
unique_key='order_id'
) }}
select
order_id,
customer_id,
order_date,
total_amount
from {{ source('raw', 'orders') }}
{% if is_incremental() %}
-- 差分対象だけを再計算(遡及期間は要件に合わせる)
where order_date >= dateadd(day, -1, current_date)
{% endif %}
-- ポイント:
-- 1) unique_keyはマージ前提の一意性を示す
-- 2) is_incremental()ブロックで再計算範囲を絞る
-- 3) 過去分の更新が起きうるなら遡及期間を安全側に設定通信不安定は最大の敵です。もし映像/音声が途切れたら、監督チャットで即座に申告し、指示に従います。ブラウザ拡張の再許可やページ再読込が案内されることがあります。勝手な再起動は避け、常に指示ベースで動くのが安全です。
周囲の騒音検知や本人確認の再要求が入ることもあります。都度カメラに応じ、落ち着いて対応しましょう。時間が進む懸念がある場合も、まずは監督に状況を共有するのが先決です。
| トラブル | 初動 | 再発防止 |
|---|---|---|
| 映像/音声の途切れ | 監督チャットで状況共有。指示に従い再接続 | 有線接続・不要端末のWi‑Fi停止 |
| 画面共有の拒否 | ブラウザとOS設定を再許可 | 前日テストと再起動で権限状態をリセット |
| 環境ノイズ検知 | 状況説明と改善(窓閉め/扇風機停止等) | 受験時間帯の再検討・静音化 |
提出後、暫定スコアが表示されることがありますが、正式結果と証明は後日メールで届きます。結果にかかわらず、直後の記憶が鮮明なうちに“迷いポイント”を言語化しておくと、次回やチーム共有に役立ちます。
実務への還元は、モデル定義の明文化とテストの徹底から始めるのが効果的です。dbtの強みはドキュメント性と可観測性にあります。schema.ymlの説明欄やexposure定義を整えるだけでも、チームの発見可能性が向上します。
| 改善対象 | 着手の第一歩 | 期待効果 |
|---|---|---|
| testsの網羅性 | schema.ymlにgeneric not_null/uniqueを追加 | 品質ゲートの早期化 |
| freshness監視 | sourceにfreshness閾値を定義しCIでチェック | 遅延の即時検知 |
| ドキュメント | モデル/ソースにdescriptionを付与 | オンボーディング短縮 |
Analytics Engineer
問題 1
大規模な売上テーブルをdbtで日次更新しています。新規行の追加に加えて、過去1日の注文がステータス変更で更新されることがあります。処理時間を抑えつつ正確性を担保したい。最も適切な設計はどれか?
正解: A
要件は“追加+最近の更新”です。インクリメンタル+unique_key+差分フィルタで、過去1日分を安全側に再計算すれば、性能と正確性のバランスが取れます。ephemeralは永続化されず規模に不向き、seedは手動・静的、snapshotは履歴保持には有効ですが質問の集計更新要件の主役ではありません。
試験はオープンブックですか?ドキュメントを参照できますか?
原則クローズドブックです。外部サイトやメモの参照はできません。最新の受験規約は公式のCertificationページで確認してください。
休憩は取れますか?
多くの場合、途中離席は認められません。水分補給や室温調整は開始前に済ませ、集中できる環境を整えてください。個別のポリシーは監督プラットフォームの指示に従います。
結果はいつ分かりますか?再受験ポリシーは?
終了直後に暫定表示があるケースがありますが、正式結果・証明は後日メールで通知されます。再受験の待機期間や回数制限は変更され得るため、最新の規定を公式ページで必ず確認してください。
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)、設定優先度...