0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS Certified Data Engineer - Associate(DEA)合格体験記

0
Posted at

はじめに

AWS Certified Data Engineer - Associate(DEA)に合格したので、学習方法や受験までの流れをまとめます。

本番は799点でした(800超えたかった、、、)

受験前のAWS経験

受験前には、AWSのインフラ運用・保守を中心に2年ほど経験がありました。

保有資格は以下です。

  • AWS CLF
  • AWS AIF
  • AWS SAA
  • AWS SOA
  • AWS MLA
  • AWS SAP

主に触れていたサービスは以下です。

  • Amazon EC2
  • Amazon S3
  • Amazon RDS
  • Amazon CloudWatch
  • Amazon CloudFront
  • Elastic Load Balancing
  • AWS WAF
  • Amazon VPC
  • AWS IAM
  • AWS Systems Manager
  • Amazon Route 53

DEAで中心となるデータ分析系サービスについては、実務経験が多いわけではありませんでした。

特に以下は試験勉強を通して理解を深めました。

  • AWS Glue
  • Amazon Athena
  • Amazon Redshift
  • Amazon Kinesis Data Streams
  • Amazon Data Firehose
  • Amazon Managed Service for Apache Flink
  • AWS Lake Formation
  • Amazon QuickSight
  • AWS DMS

学習期間

約2~3週間でした。
毎日3時間程度は時間を使いました。

使用教材

CloudTechのみを使用しました。
問題の密度などもこれ一本で十分でした。
#PR

特に重要だと感じたサービス

AWS Glue

個人的にはDEA対策で最重要クラスのサービスでした。

特に以下を整理しました。

  • Glue Crawler
  • Glue Data Catalog
  • Glue Spark Job
  • Job Bookmark
  • Workflow
  • Schema Registry
  • DynamicFrame
  • Apache Hudi / Icebergとの連携

最初は、

CrawlerとData CatalogとGlue Jobの違い

が曖昧でした。

最終的には以下のように整理しました。

S3
 ↓
Glue Crawler
「どんなデータ構造か調べる」
 ↓
Glue Data Catalog
「スキーマ・テーブル情報を管理する」
 ↓
Glue Spark Job
「実際にETL処理する」

この役割分担を理解すると、Glue関連の問題がかなり解きやすくなりました。

Amazon Athena

Athenaについては、

「S3にSQLを実行するサービス」

だけで覚えるのでは不十分でした。

以下を重点的に勉強しました。

  • Glue Data Catalogとの関係
  • パーティション
  • Partition Projection
  • Glue Partition Index
  • Federated Query
  • CTAS
  • Iceberg
  • Parquet / ORCによるスキャン量削減

Athenaでの探索効率化は抑えておくべきポイントです。

Athena
 ↓
Glue Data Catalog
「このテーブルはどこにある?」
 ↓
Amazon S3

Amazon Redshift

Redshiftは覚える範囲がかなり広い印象でした。

以下を重点的に確認しました。

  • Distribution Key
  • Sort Key
  • Data Skew
  • VACUUM
  • ANALYZE
  • COPY
  • UNLOAD
  • Spectrum
  • SUPER型
  • PartiQL
  • Materialized View
  • Stored Procedure

特に、

DISTKEY
→ どこにデータを配置するか

SORTKEY
→ どの順序でデータを保持するか

を区別できるようにしました。

Kinesis関連

最初はかなり混乱しました。

整理すると以下のようなイメージです。

Kinesis Data Streams

リアルタイムストリームを保持し、複数Consumerから処理する用途。
リアルタイムに適している。

Amazon Data Firehose

ストリーミングデータを、

  • S3
  • Redshift
  • OpenSearch

などへ比較的簡単に配信する用途。
リアルタイムには適さない。

Managed Service for Apache Flink

ストリームデータに対してリアルタイムで、

  • 集計
  • JOIN
  • ウィンドウ処理
  • ステートフル処理

などを行う用途。

Apache Iceberg / Apache Hudi

DEAを勉強するまで、個人的には馴染みが薄い分野でした。

従来のS3上のParquetファイルは、基本的にファイル単位で管理します。

一方でIcebergやHudiを利用すると、

  • UPDATE
  • DELETE
  • UPSERT
  • MERGE
  • スキーマ進化

といった、データベースに近い操作がデータレイクでも可能になります。

QuickSight

QuickSightではSPICEの理解が重要でした。

SPICEは、

QuickSight用の高速なインメモリ分析エンジン

という理解から入りました。

Redshift
 ↓
SPICEへ取り込み
 ↓
QuickSight Dashboard

とすることで、ダッシュボード表示のたびにRedshiftへ直接クエリする必要を減らせます。

学習で特に意識したこと

1. 「最も運用効率が高い」を重視する

AWS試験では、技術的に実現可能な選択肢が複数存在することがあります。

そのため、

  • サーバーレス
  • マネージドサービス
  • 不要なLambdaを追加しない
  • 不要なETLを追加しない
  • 既存AWS機能を利用する

という観点を意識しました。

例えば、

S3イベント
 ↓
Lambda
 ↓
独自処理

で実装できたとしても、AWS側にそのためのマネージド機能があるなら、そちらが正解になるケースがあります。


2. 問題文のキーワードから候補を絞る

例えば、

全文検索
→ OpenSearch
S3をSQL分析
→ Athena
RedshiftからS3を直接参照
→ Redshift Spectrum
スキーマ自動検出
→ Glue Crawler
メタデータ管理
→ Glue Data Catalog
CDC
→ DMS / Hudi / Iceberg
リアルタイムストリーム
→ Kinesis

といった対応関係を整理しました。

ただし、キーワードだけで即決せず、問題文の制約まで読むようにしました。

試験本番について

NDAのため、具体的な問題内容については記載しません。

全体としては、単純なサービス名の暗記というより、

要件を読んで、複数のAWSサービスから最も合理的な構成を選択する

ことが重要だと感じました。

特に、

  • コスト
  • 運用負荷
  • スケーラビリティ
  • レイテンシー
  • スキーマ変更
  • データ量
  • リアルタイム性
  • セキュリティ

といった条件を読み落とさないことが重要でした。

これから受験する人へ

DEAでは、サービス名の暗記だけではかなり厳しいと思います。

おすすめなのは、

  1. 各サービスの役割を理解する
  2. 似たサービスとの違いを整理する
  3. 問題演習をする
  4. 正解・不正解の理由を両方確認する
  5. 分からない概念を図にして整理する

という流れです。

特に、

「このサービスは何ができるか」

だけではなく、

「このサービスを使わない方がいいのはどんな場合か」

まで理解すると、選択肢をかなり絞りやすくなります。

まとめ

AWS Certified Data Engineer - Associateの学習では、以下の分野を重点的に勉強しました。

  • AWS Glue
  • Amazon Athena
  • Amazon Redshift
  • Kinesis
  • Amazon Data Firehose
  • Managed Service for Apache Flink
  • AWS DMS
  • Lake Formation
  • QuickSight
  • Iceberg / Hudi

特に重要だったのは、

「サービス名を覚える」のではなく、「データ基盤の中でそのサービスが何を担当するのか」を理解すること

でした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?