はじめに
記事タイトルの通り、先日 AWS Certified Data Engineer - Associate を受験し合格しましたので、本試験のポイントをお伝えできればと思います。
私のバックグラウンド
AWS 認定全冠を達成し、2024 Japan AWS All Certifications Engineers に選出されています。
受験結果と感想
2024/07/22 午前中に受験し、その日の夜 21 時頃に合格メールが届きました。
昨年まであった DAS の試験 を突破済みの方であれば問題なく突破できると思います。
試験時間は十分ありますので、焦らずじっくり解けば良いかと思います。
学習メモ
AWS サービス別に学習ポイントをメモしておきます。
S3
- S3 イベント通知
S3 オブジェクトのアップロードなど S3 イベント発生時に、次の宛先にイベントの通知メッセージを送信可能 (宛先:SNS トピック、SQS キュー、Lambda 関数、EventBridge) - S3 Object Lambda
S3 GET、HEAD および LIST リクエストに独自のコードを追加して、返されるデータを処理できる機能
例えば、カスタムコードを使用して、S3 GET リクエスト時 (S3 からオブジェクト取得時) にオブジェクトのデータを変更し、行のフィルタリング、画像の動的なサイズ変更、機密データの編集などを行うことができる - S3 Select / S3 Glacier Select
S3 や S3 Glacier に保存されているデータに対して、SQL クエリを直接実行可能 - S3 ライフサイクル
標準、標準-IA、Intelligent-Tiering、1ゾーン-IA、Glacier Instant Retrieval、Glacier Flexible Retrieval、Glacier Deep Archive - S3 Intelligent-Tiering アクセス階層
デフォルトのアクセス階層は、高頻度アクセス階層、低頻度アクセス階層、アーカイブインスタントアクセス階層であり、ミリ秒単位でデータ取り出し可能
オプションのアーカイブアクセス階層とディープアーカイブアクセス階層はデータ取り出しに数時間かかるため、レイテンシ要件に注意
Lake Formation
- データフィルタ
行、列、セルレベルのきめ細やかなアクセスコントロールが可能 - データレイクロケーション
S3 パスをデータレイクロケーションに登録することで、アクセス管理を効率化
Athena
- パフォーマンスチューニング
パーティショニング、ファイル圧縮 (Gzip や Snappy)、列志向フォーマット (Apache Parquet や Apache ORC)、クエリチューニング、クエリ結果の再利用
参考:Amazon Athena のパフォーマンスチューニング Tips トップ 10 - ワークグループ
クエリのワークロードを分離することで、アクセス制御や管理を効率化 - Federated Query
S3 だけでなく、RDS、DynamoDB、Redshift など複数データソースを統合してクエリ実行可能
Glue
- Glue ジョブ
Python や Spark ジョブを作成可能 - Glue データカタログ
メタデータリポジトリとして利用 - Glue トリガー
ジョブのスケジュール実行に利用 - Glue 接続
データストア間の接続に利用 - Glue ワークフロー
Glue ジョブやクローラの実行を視覚的に管理 - Glue DataBrew
データの前処理をノーコードで可能 - 機械学習機能
例えば FindMatches 変換を使用すると、データセット内の重複レコードを識別し、重複排除に利用可能
EMR
- ビッグデータ処理
Apache Spark、Apache HBase、Apache Hive などのオープンソースフレームワークと互換性があり、ペタバイト単位の大規模データセットを処理できる
Redshit
- Redshift Serverless
データウェアハウスのインフラ管理不要 - Redshift Data API
SageMaker や Lambda などのウェブサービスベースのアプリケーションで Redshift Data API を利用することで、運用上のオーバーヘッドを抑えて Amazon Redshift データにアクセス可能 - Redshift Spectrum
S3 上のファイルに直接クエリ実行可能であり、S3 上のファイルと Redshift テーブルの JOIN も可能 - クエリエディタv2
SQLクエリ実行、クエリの保存と共有、クエリ結果の簡易的な可視化、クエリのスケジュール実行等が可能 - 分散スタイル
小さなテーブルは ALL、テーブルが大きくなってきたら KEY、さらに大きくなり適切なキーがない場合は EVEN、AUTO はこれをテーブルサイズに応じて自動割当 - WLM (Work Load Management / ワークロード管理)
WLM のキューで同時実行スケーリングを有効にすると、需要に合わせて読み書きキャパシティを自動でスケーリング可能 - ストリーミング取り込み
Amazon Kinesis Data Streams および Amazon Managed Streaming for Apache Kafka から Amazon Redshift Serverless でプロビジョニングされたビューまたは Amazon Redshift マテリアライズドビューにストリームデータを低レイテンシーかつ高速で取り込むことができる
Kinesis
- Kinesis Data Streams
- Kinesis Data Firehose
- Managed Service for Apache Flink (旧 Kinesis Data Analytics)
Step Functions
- ワークフロー
Lambda 関数や Glue ジョブなど複数の AWS サービスが関わるデータパイプラインを統合管理
DataSync
- オンプレから S3 へのデータ転送を自動化
Data Exchange
- AWS 上でサードパーティーのデータセットを利用するためのサービス
AppFlow
- SaaS アプリと AWS 間のデータ転送
Database Migration Service (DMS)
- オンプレのデータベースを AWS に移行
QuickSight
- ダッシュボード
おわりに
最後までご覧いただきありがとうございました!