はじめに
データ系のAWS認定試験としては2つ目となる AWS Certified Data Engineer - Associate (DEA-C01)。
合格までにやったこと、試験に向けてのポイントなどを書いていきます。
自分は費用をかけず無料で合格することをポリシーにしています。有料の試験対策コンテンツがあれこれ売られていますがこれらは使用しません。
それでもAWS認定を全部保有し続けています。AWSから公開されている無料のコンテンツだけで合格できますよ。
どんな試験なのか
AWS認定 データ分析 – 専門知識 (去年廃止) とは似て非なるものです。
データ分析とは試験範囲がかぶる部分もあるものの異なります。
データ分析はデータサイエンティストのように(用意されている)データを分析すること、
データエンジニアは(様々なデータを分析できるように)データシステムの環境を用意することが役割です。
受験までにやったこと
AWS Skill Builder で学ぶ
無料で登録できます。一部有料コンテンツもありますが使用していません。
これはAWSが公開している学習コンテンツで(Microsoft Learnのようなものです)、ここにある関連コンテンツを学び、そこで登場した公式ドキュメントを読み理解を深めます。
-
概要
- Exam Prep Plan Overview: AWS Certified Data Engineer - Associate (DEA-C01 - 日本語)
-
分野1 ETL(データの抽出,変換,格納)
- Domain 1 Review: AWS Certified Data Engineer - Associate (DEA-C01 - 日本語)
-
分野2 データストア,カタログ化,ライフサイクル
- Domain 2 Review: AWS Certified Data Engineer - Associate (DEA-C01 - 日本語)
-
分野3 データ処理の自動化,分析,モニタリング
- Domain 3 Review: AWS Certified Data Engineer - Associate (DEA-C01 - 日本語)
-
分野4 認証,認可,暗号化,監査,プライバシーとガバナンス
- Domain 4 Review: AWS Certified Data Engineer - Associate (DEA-C01 - 日本語)
AWSJ公式ドキュメントを読む
先の Exam Prep を学習中に登場した知らなかったり理解の浅いAWSのサービスをしっかり理解しましょう。
地味ですがこれが一番重要です。必要なことは全て書かれています。
以下、読み進めていて自分が試験に役立ちそうだと感じた項目を書いておきます。
-
Amazon Redshift
- プロビジョンド(常時稼働)とサーバーレスがある。用途に応じて使い分け
- プロビジョンドはクラスタ作成時に(EC2のように)容量を指定する。(EC2のRI同様)リザーブドノードもある
- サーバーレスの容量はRPU(1RPU=16GBメモリ)で指定する
- Redshift Spectrum でS3バケットのデータを直接参照できる
- ゼロETL統合を利用するとAurora,RDS,DynamoDB,Salesforce等のSaaSにあるデータをETL不要で利用できる
- データ共有ができる
- データは共有するがコンピュートは個別
- ETL用クラスタとクエリ用クラスタを分離したり
- 本番環境のデータをテスト環境に共有したりできる
- AWS Data Exchange カタログでデータをMarketPlaceで公開したり売れる
- https://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/welcome.html
- プロビジョンド(常時稼働)とサーバーレスがある。用途に応じて使い分け
-
AWS Glue
- AWSマネージドのサーバレスETLサービス
- ETL処理の問題で迷ったらこれを選んでおく
- Glue データカタログは Apache Hiveメタストア互換のメタデータリポジトリ
- Amazon DynamoDB, Amazon S3, Amazon RedShift, Amazon RDS, JDBC接続可能な任意のDBをデータソースに指定可能
- メタデータはAmazon RedShift Spectrum, Amazon Athena, Amazon EMRに連携可能
- Glue クローラーはデータカタログにメタデータを作成する
- 分類子(データのスキーマを決定するGlueの機能)の優先度に従ってスキーマ情報を自動で判断し、分類子がデータ形式を認識するとスキーマを形成する
- ログはAmazon CloudWatch Logsに出力される
- Grok, XML, JSON, CSVを用いてカスタム分類子を定義可能
- アクセス先のリソースに対応したIAMロールを付与する(JDBC接続はID/PW)
- Glue ETLジョブは ETLの処理単位。ジョブにはApache SparkとPython Shellがある
- AWS Glue DataBrewはデータのクリーンアップや正規化をノーコードで行える
- Python Shellではboto3やNumpy等のライブラリを呼び出しETL処理できる
- GlueはApache SparkとPythonにしか対応していない
- それ以外の言語等を利用したい場合はGlueでなくAWS Batchを利用する。(コンテナなので何でもできる)
- Glueの処理単位はDPU。1DPUは4vCPU、16GBメモリ。Python Shellでは1/16 DPUも選択可能
- 1DPU以上の処理能力が必要な場合やGPUが必要な場合はAWS Batchを利用する
- AWSマネージドのサーバレスETLサービス
-
Amazon AppFlow
- 各種SaaSからAmazon S3やAmazon Redshift等へノーコードでデータを転送できるマネージドサービス
- Salesforce、SAP、Google Analytics、Facebook Ads、ServiceNow 等のSaaSからデータを転送する場合はこれと覚える
-
Amazon Mechanical Turk
- 機械学習データのラベル付け等をAmazon経由で人間に作業を依頼する、いわゆるクラウドソーシング
- Amazon SageMaker Ground Truth (マネージドサービスの自動ラベル付け)と比べられる
- どちらもこのサービス名はこういうことができると覚えておく程度で良い
-
AWS CloudTrail
- AWS各種サービスのAPI呼び出しに関するログが保存され監査や不正アクセス等の調査に利用できる
- 保存されるのはAPI呼び出しログであり、ユーザが実行したクエリ文のようなデータは保存されずそれらの調査には利用できない。それらはCloudWatch Logsで対応する
無料の模擬試験をやってみる
- 試験問題は毎回同じなので一通り勉強が終わってからやること
- 知らないサービスはもう無いか? もしあればそのサービスを調べる
- 回答の選択肢にはとんでもないのもある。そんなことはできないを見抜けたか?
- これは20問しかなく参考程度に。全くここに登場しない内容も出題されます
- Official Practice Question Set: AWS Certified Data Engineer - Associate (DEA-C01 - 日本語)
勉強のポイント
-
各サービスで何ができて何ができないのか。「そんなことはできない」を理解する
- どのサービスで何ができるのかを理解しておく
- APIやboto3関数の名称もざっと目を通しておくと良い
- あり得ない選択肢が多く登場するのでこれを理解していると回答の絞り込みが楽になります
- 複数の選択肢がいずれも可能で迷った場合、設問で何を最重視しているのかで判断する。コストなのか工数なのか性能なのか
-
何を求められているのかを理解する
- 低コストを求めているのか、性能を求めているのか
- よく登場する「運用の手間を最小限に」は作業工数をかけない、つまりマネージドサービスや自動化を求めている
まとめ
AWS認定 データ分析 - 専門知識 よりもインフラよりの試験といったところでしょう。
難易度はアソシエイト試験ですが分野的に専門知識に近い感触です。
しかし関連するドキュメントをしっかり読んでおけば問題なく合格できます。