📝

Associate Data Practitioner 試験に合格しました(2025/05/22)

に公開

はじめに

2025年5月22日に Google Cloud の Associate Data Practitionar 試験を受験し、合格しました!
これから受験する人、3年後に更新する自分に向けて記事を書いてみます。

プロフィール

記事を投稿するのも初めてなので、軽く。
エンジニア歴5年ちょっと。(Google Cloud は 3年半ほど)
Google Cloud 資格は、Associate Cloud Engineer と Professional資格全てを保有しています。
Professional 資格を全て取り終えて、せっかくなので全部取るか~と残りの資格も取り始めました。

試験概要

Associate Data Practitionar 試験は、Google Cloud 試験の中では中級クラスの試験になります。
記事執筆時点では英語試験のみ公開されており、他試験同様に多肢選択(複数選択)式の問題です。
私が受験したときは、40問出題されていました。

試験名の通り、データに関する問題が出題されます。
(データの取り込み、変換、管理、分析など)

試験内容

こんな内容を押さえておくと良いよ~、こんな問題がでたよ~っていうのをざっくりメモしていきます。
(試験後に思い出しながらメモしてるので、一部記憶違いがある可能性はあります…)

Cloud Storage

Cloud Stoarge に関する問題が数問出題されました。Cloud Storage の基本的な機能についてはしっかり学習しておきましょう。

ロケーション

ロケーションは、リージョン/デュアルリージョン/マルチ―リージョンのいずれかで、データを保管したい場所を選択します。
「単一リージョン障害があった場合でもデータにアクセスできるようにしたい」といった要件が問題文にあった場合には、デュアルリージョンやマルチリージョンにデータを保存する選択肢を選びます。

ストレージクラス

ストレージクラスを選択する問題もありました。それぞれの特徴をしっかり押さえておきましょう。

  1. Standard Storage
  2. Nearline Storage
  3. Coldline Storage
  4. Archive Storage

下に行くほど、データ保管コストが安くなり、データアクセスコストが高くなります。
データアクセス頻度に応じて選択します。
頻繁にアクセスする → Standard
月に1回程度アクセスする → Nearline
四半期に1回程度アクセスする → Coldline
年に1回未満アクセスする(障害復旧などのバックアップ用)→ Archive

また、アクセスパターンに応じて適切なストレージクラスに自動移行する Autoclass に関する問題も出題されました。
「オブジェクトによってアクセス頻度が異なる」といった要件が問題文にあった場合は Autoclass の選択肢が解答になりえます。

データ移行

オンプレから Cloud Storage へのデータ移行に関する問題も出題されました。
各種どんな特徴があるかも押さえておくと良いです。

  • gcloud storage コマンド
  • Storage Transfer Service
  • Transfer Appliance
    各種どんな特徴があるのかを押さえておき、
    大規模なデータで十分なネットワーク帯域幅がないけど早く転送したい → Transfer Appliance
    ネットワーク帯域幅の使用量を制御したい → Storage Transfer Service
    など問題文の要件から紐づけられるようにしましょう。

その他

その他の主要な機能についても問題が出たり、選択肢に登場してきたりしました。
ざっくりどんな機能なのか把握しておくと良いです。

  • ライフサイクル管理
    • オブジェクト作成後の経過日数に応じて、ストレージクラスをダウングレードしたり、削除できる機能
      • 「最初の N 日間のみ頻繁にアクセスされる。N年間保持しておく必要があり、その後は自動削除させたい。コストを最適化したい。」といった要件がある場合に選択します。
  • バージョニング
    • 同じ名前のオブジェクトが上書き・削除されても過去のバージョンを保持してくれる機能。(誤ってデータを削除・上書きしても復元可能)
  • 保持ポリシー
    • オブジェクトを一定期間削除不可にするルール(法令遵守やコンプライアンスのために使用)

BigQuery

BigQuery に関する問題もたくさん出ていました。

各種テーブル/ビューの概要

まず、以下のような各種テーブル/ビューの概要は押さえとくと良いと思います。

  • ネイティブテーブル
  • 外部テーブル
  • オブジェクトテーブル
  • 承認済みビュー
  • マテリアライズドビュー
    など。

【外部テーブル】
Cloud Storage に格納した CSV など、BigQuery の外部にあるデータを参照するテーブル。
・Cloud Storage にあるファイルに対して1回限りの SQL ベースの分析を行いたい / BigQuery に取り込まずにすぐに分析したい
・頻繁に更新される外部データに対して、リアルタイムに近い分析を行いたい(都度 BigQuery にロードする手間を省きたい)
等の要件があればこちらが答えになりえます。

【オブジェクトテーブル】
Cloud Storage内のオブジェクトのメタデータを格納するテーブル。
BigQuery上で、Cloud Storage内のオブジェクトに対して、BigQuery ML や Google Cloud の各種機械学習 API などで推論を行いたい場合などに使用したい。

【承認済みビュー】
ビューの元となるテーブルへのアクセス権は与えずにビューへのアクセス権のみを与えるための機能。
テーブル内のデータ全体は見せずに、特定の一部のデータのみ共有したいといった要件があれば答えになりえます。

【マテリアライズドビュー】
クエリ結果を事前に計算・保存しておくビュー。
以下のような問題が出題されたような気がします。
ダッシュボードに読み込みの遅いクエリがある。遅いクエリは、複数の結合や集計が行われている。ダッシュボードの読み込み時間を改善するにはどうしたらよいか?
⇒マテリアライズドビュー

直接回答にならなくても、選択肢に用語は出てきますので、しっかり押さえておきましょう。

IAM 権限

IAM 権限に関する問題も出題されました。「~~ができる権限を付与する必要があります。どの定義済みIAM ロール適用すればよいか?」といった内容。
IAM権限の付与では、強すぎる権限の付与は推奨されず、必要な権限のみを含んだ最適なロールの設定が求められます(最小権限の原則)。不必要に管理者権限(roles/bigquery.admin)を付与してはいけません。
データへの読み取り(roles/bigquery.dataViewer)や編集(roles/bigquery.dataEditor)、クエリ実行(roles/bigquery.jobUser)など、基本的な権限についてはしっかり押さえておくと良いです。
私が受験した際は、「テーブルをクエリ/更新したい、プロジェクト内のデータセットを一覧表示したい」といった要件が問題文にありました。

SQL

SQL を選択する問題も1問だけですが、出題されました。
問題文に分析の要件があり、適切な SELECT 文を選ぶ問題です。
ウィンドウ関数に関する問題でCompute a moving averageCompute a cumulative sumあたりが構文としては近かった気がします。

データ取り込み

BigQuery へのデータの取り込みに関する問題も出題されました。
BigQuery Data Transfer Service についてもドキュメントなどで概要を理解しておくと良いです。
事前定義したスケジュールで定期的にデータを移行させたいといった要件が出た際には、このサービスが解答になりえます。

また、ローカルにあるファイルから BigQuery にデータをロードしたい(1回限りの取り込み)といった要件の場合は bq load コマンドを選択します。
どちらも試験で問われました。

BigQuery ML

BigQuery ML に関する問題も出題されました。
「どんなモデルがあって、それぞれどんなユースケースで使用されるのか」を簡単に調べておくと良いです。(時系列、ロジスティック回帰、線形回帰、K平均法クラスタリング)
私が受験した際は、「過去の売り上げをもとに、季節性を考慮した上で需要を予測したい」といった要件が問題文にあり、時系列モデルの選択肢を選びました。
他の選択肢には、他のモデルタイプが書かれていたので、メジャーなものはそれぞれ特徴を押さえておきましょう。

その他

以下についても出題されていました。

  • 行レベルのアクセスポリシー
    • 行レベルでアクセス制御ができる機能(○○さんはA列の値が××の行だけ見れるようにする等)
    • 「各担当者に自身の担当のデータを閲覧させたい」といった要件がある場合にはこちらが適しています。
  • パーティションテーブル
    • BigQuery テーブルを特定の列(日時系のデータ型)を基準として、内部的に複数に分割する機能
    • クエリする時にフルスキャンでなく、特定の範囲に絞ることができ、効率的になる
    • 試験では、パーティションの有効期限の機能に関する問題が出題された(特定の期間が過ぎたらデータを自動削除させる機能)
  • LLM の使用
    • 「BigQuery のデータに対して Gemini で要約したい」といった問題もありました。
    • リモートモデルという機能で実現可能です。こちらも公式のドキュメントなどを読んでおくと良いと思います。
  • Colab Enterprise
    • Colab Enterprise Notebook で BigQuery に接続してデータを分析する、といった問題も数問あった気がします。
    • Colab Enterprise について、公式ドキュメントなどでどんなサービスなのか見ておくと良いです。
  • Analytics Hub
    • 「BigQuery のデータを他のチームに共有する」といったユースケースの問題で選択肢に Analytics Hub が登場してきました。こちらもどんなサービスなのか調べておくと良いと思います。

ETL / ELT

ETL、ELTに関する問題は多く出題されていました。
どのツールを選定するべきか、また、データのストリーミング先はどこが適切かなどが問われます。
それぞれのサービスの特徴を押さえておき、問題文から紐づけられるようにすると良いです。
SQLパイプラインの構築、Gitとの連携 → Dataform
ローコードソリューションを使用 → Data Fusion
リアルタイムなストリーミング → Pub/Sub + Dataflow
Sparkスクリプトを使用したデータ処理 → Dataproc
複数のタスクを特定の順番や依存関係で実行させたい → Cloud Composer
GCSへのファイル到着時に処理を実行したい → オブジェクトファイナライズトリガーでCloud Run Functions を実行
など
(もちろん上記が全て当てはまるとは限りません。問題文をよく読む必要があります。)

その他

  • Looker (Google Cloud Core)
    • Lookerに関する問題も数問出題されました。Lookerの基本的な機能などについて公式ドキュメントやネットにある技術ブログなどで学習しておくと良いです。
  • 暗号化キーの選択
    • 問題文の要件に対し、どの暗号化キーが適切かを選択するような問題もありました。それぞれの特徴を把握し、どんな時にどれが良いのかを把握しておくと良いです。(暗号化キーの管理に伴う運用オーバーヘッドを無くしたい → GMEK、など)
      • GMEK(Google Managed Encryption Keys)
      • CMEK(Customer Managed Encryption Keys)
      • CSEK(Customer Supplied Encryption Keys)

おわりに

今回記載した内容はあくまで私が受験したときのメモになります。
受験時によって差異はあるかもしれませんし、今後試験内容も変わる可能性があります。
公式の試験ガイドも確認すると良いと思います。

この記事が誰かのお役に立てれば幸いです。

Discussion