GCP Professional Data Engineer認定試験に合格してきました! 認定取得にあたり、取得するまでのポイントや試験のことを書いておきます。
事前に準備したこと
- Coursera
- 各サービスのコンセプトやらユースケースを細かく詳しくレクチャーしてくれる。
- 分量が多いので、概要を掴むくらいを期待するなら重すぎるかも。 - 間に手を動かすパートと小テストがあったから少しは自信がつく
- qwiklabs - 手を動かす用. アカウントは制限時間ありで用意してくれる
押さえるべきサービス
データに関するサービスだけでなく、セキュリティやログ出力設定まで聞かれます(システムを作る/使う上では基本だもんね)。
ざっと列挙するだけでも以下のサービスを一通り抑える必要がありました。 もちろん、現時点で使っているサービスがあるならそれを掘り下げると良い。自分みたいにほとんど知らないなら、チュートリアルの一つ目だけやって触るだけでもしたほうがいいです。
特にBigQuery, IAM, ストレージ/データベースサービスの使い分け, 機械学習の方法(特徴量エンジニアリングとか)は押さえておく必要がありました。
- IAM (Identity and Access Management)
- BigQuery
- いわゆるデータウェアハウス, 引くレベルで高速にデータをSQLで探索できる。
- テーブルやビューの作成を作成してデータを保存できるけど、データの検索に重きを置いている印象。
- Google Cloud Storage
- Cloud Pub/Sub
- Publish-Subscribe型のメッセージングサービス。
- プッシュ通知的なpush型, キュー的なpull型の2タイプあり。
- Cloud Dataflow
- Cloud Datalab
- Cloud Dataproc
- Cloud Dataprep
- Cloud ML Engine
- Vision API
- Stackdriver Logging / Monitoring
- 名前の通り、ログやモニタリングのサービス。
- ほとんどのサービスでは組み込みでStackdriver Loggingでログを見れるようにはなってる。
- Cloud Bigtable
- Cloud SQL / Cloud Spanner
- Cloud SQLはMySQL/PostgreSQLのホスティングサービス。
- Cloud SpannerはスケールアップするSQLデータベース。
- Cloud Composer
- Cloud Storage Transfer Service
試験受験したとき
大きく分けて以下2種類。出題数的には前者8割、後者2割でした。ケーススタディは試験の公式サイトに載っているやつそのままです。
時間は2時間ありましたが、1.5時間で一通り解き終わりました。全部見直しするには少し時間が足りなかったです。。。 認定試験のサイトだとケーススタディを猛烈プッシュしていましたが、実際には各サービスについての一問一答形式が多くて焦ります。AWSの試験を受けたことがある方には同じ形式の出題だったと言えば分かりますかね笑
また、ケーススタディはビジネス要件(履歴データを集約して予測分析したい、本番環境を柔軟にスケールさせたい)、技術要件(出来るだけマネージドサービスを使う、Hadoopワークロードはそのまま移行したい etc...)が出題として問われたり、時にはヒントになっていました。 ただ、受験した会場特有なのか分かりませんが、左に問題、右にケーススタディの構成や要件が表示という2窓構成でした。めっちゃ見づらかった。。。
認定試験を通しての学び
Kubernatesを触るために最初に使い始めたGCPでしたが、今回の認定試験の学習を通してデータ分析や分析基盤の構築について学べました。 特に以下のことについては今まで触ったことのあるクラウド(IBM Cloud, AWS)以上に理解できたと自信を持てます。
- 分析用途のデータ処理パイプライン構築にはどのようなサービスを組み合わせれば良いか。
- 機械学習サービスは他のクラウドベンダーのAIとは何が違うのか。どのように使うのか。事前に使えるモデルは何か。
- 分析に使うデータウェアハウスのBigQueryの特徴。
- ストレージの使い分け。
個人的にはデータをSQLで分析するBigQueryやDataflow, Dataprepと他のクラウドで処理したデータを連携させたりできないかとアイデアを膨らませるいいきかっけになったかと。 例えばAWSとGCPの2つを使ってアプリのログのデータ分析をマルチクラウドできるんじゃないか? (冗長かもしれないけど)
- AWS ECSで動くアプリケーションのログをCloudWatch Logsに集約
- CloudWatch Logsのログ生成をAmazon SNSのトピックに流し込む
- SNSをサブスクライブするLambda経由Kinesis Firehoseにデータを入れる
- Kinesis FirehoseからAWS S3にログをストリーミングで直接保存
- Cloud Storage Transfer ServiceでS3からGCSにログデータを転送
- DataflowでGCSからBigQueryに流し込む
- BigQueryで分析
後日談
認定通ったら社内のPrimary Job Role Specialtyが Application Developer: Google Cloud Microservicesになってました⸜(* ॑꒳ ॑* )⸝笑 今後はGCP Associate Engineer取ってみたいですね。あとはAWS SAAも!