Amazon DEA-C01: データの取り込みと収集 — 学習ガイド

こちらの一部です: Amazon Data Engineer Associate DEA-C01 — 学習ガイド. 検証済みの解答で練習: Amazon試験ハブ, または時間制限付き模擬試験に挑戦: ExamRoll.io.

このドメインでは、生データをデータプラットフォームに信頼性高く大規模に取り込むために使用されるパターン、AWSサービス、および運用の詳細について説明します。データエンジニアは、バッチとストリーミングのエントリポイントを選択し、データのカタログ化と発見可能性を確保し、スループット、リプレイ可能性、および障害モードを考慮して設計する必要があります。主要なAWSの構成要素は、バッチ用のS3とGlue、ストリーミング用のKinesisとFirehose、データベース移行とCDC用のDMS、そしてアドホックおよびプッシュベースの取り込み用のAPI/イベント駆動コンポーネント(API Gateway, Lambda, SNS, SQS, S3イベント)です。

AWS GlueとS3によるバッチ取り込み

Glueは、S3およびデータカタログへのバッチ取り込みのための主要なマネージドETLおよびメタデータソリューションです。典型的なパターンは、生ファイルをS3に配置し(raw/zoneなどのプレフィックスで分離)、Glueクローラーを実行してスキーマを推論しGlueデータカタログに登録し、その後Glue ETLジョブ(Spark)を実行して変換、パーティショニング、カラムナフォーマット(Parquet/ORC)への変換を行い、最適化されたデータをS3に書き戻すというものです。クローラーには適切な分類子(組み込みのCSV/JSON/Parquetまたはカスタムのgrok/regex)を設定し、s3:GetObject/s3:ListBucketおよびglue:*catalog*権限を持つIAMロールを付与します。これらの権限の欠落は、よくある運用上の誤りです。

Glueジョブとクローラーを設定する際は、以下のコンソール/CLIパターンとトグルを使用します。

Kinesis Data StreamsとFirehoseによるストリーミング取り込み

Kinesis Data Streams (KDS)は、リプレイ、コンシューマー制御、きめ細かなスケーリングを備えたリアルタイム取り込みのためのサービスです。Kinesisのシャードは、1MB/秒または1,000レコード/秒の書き込みキャパシティと、2MB/秒の読み込みキャパシティを提供します。aws kinesis create-stream --stream-name my-stream --shard-count 4 を使用し、aws kinesis put-record --stream-name my-stream --partition-key key --data fileb://payload でデータを投入します。パーティションキーがシャードへの割り当てを決定します。パーティションキーのカーディナリティが低いとホットシャードが発生するため、キーのエントロピーを高めるか、ハッシュ値をサフィックスとして付加することで回避します。シャードのスケーリングは aws kinesis update-shard-count を使用するか、自動スケーリングのためにオンデマンドモードを有効にします。

Firehoseは、ニアリアルタイム配信(S3, Redshift, OpenSearch, Splunk)に最適化された配信ストリームサービスで、組み込みのバッファリング、圧縮、およびオプションのLambda変換機能を備えています。バッファリングは BufferingHintsbuffer_size (MB) と buffer_interval (秒) で設定し、配信レイテンシーとコストのバランスを調整します。圧縮(GZIP, Snappy)を有効にし、レコードレベルの変換のために処理用のLambdaを設定します。主な違いは以下の通りです。

リプレイ、強力なコンシューマー制御、または複数のダウンストリームコンシューマーが必要な場合はKDSを選択し、S3/Redshift/OpenSearchへのシンプルな配信と変換を最小限の運用オーバーヘッドで実現したい場合はFirehoseを選択します。

DMSによるデータベース移行とCDC

AWS DMSは、同種/異種間のデータベース移行および継続的レプリケーション(CDC)に使用されます。スループットに合わせてサイジングされたレプリケーションインスタンス(aws dms create-replication-instance --replication-instance-class dms.r5.large --allocated-storage 100)をデプロイします。サイジングの決定は、変更レート、フルロードのボリューム、タスクの並列度に基づいて行います。DMSのタスクタイプは以下の通りです。

full-loadとCDCの決定基準: ダウンタイムを最小限に抑えた移行が必要な場合はfull-load+CDCを使用します。別のメカニズムで初期ロードが完了した後の継続的なレプリケーションには、CDCのみを使用します。常にスキーマのマッピングを検証し、代表的なデータ量でテスト移行を実行してください。

APIベースおよびイベント駆動型の取り込みパターン

APIとイベントは、プッシュベースの取り込みとオーケストレーションのためのものです。一般的なパターンは次のとおりです。

運用上の考慮事項とCLIパターン:

よくある落とし穴と判断基準

実践的な問題:ユースケースシナリオ

RetailCoは、モバイルのクリックストリーム(大容量、リアルタイム)と夜間の製品カタログファイルを収集しており、リアルタイムダッシュボードと統合された分析レイクを必要としています。

  1. ユーザーセッション+ハッシュ化されたシャードサフィックスから派生したパーティションキーを使用して、クリックストリームをKinesis Data Streamsに取り込みます。リアルタイム処理のために、Kinesis Data AnalyticsまたはLambda/Kinesis Client Libraryを使用してコンシューマーを作成します。
  2. 変換Lambdaを備えたKinesis Data Firehoseを使用して、エンリッチされたストリーミング出力をS3(Parquet)に永続化し、Snappyで圧縮し、オプションで分析のためにRedshift Spectrumにロードします。
  3. 夜間のカタログファイルをS3のraw/に配置し、スケジュールされたGlueクローラーを実行してGlueデータカタログを更新します。その後、Glue ETLジョブを実行して、キュレート済みゾーンにパーティション化されたParquetとして変換します。
  4. S3イベント通知 -> SNS -> Lambdaを使用して、軽量なメタデータ更新やキャッシュの無効化をトリガーします。耐久性のあるダウンストリーム処理のために、配信をSQSにルーティングします。
  5. Kinesisのシャードメトリクス(IncomingBytesIncomingRecordsPutRecords.Success)を監視し、UpdateShardCountまたはオンデマンドストリームを使用して増加に対応します。CloudWatchアラームを有効にします。

AWSのベストプラクティスの論理的根拠: リアルタイムパスとバッチパスを分離し、リプレイとコンシューマーの分離が必要な場合はKinesis Data Streamsを使用し、S3/送信先へのマネージド配信にはFirehoseを使用し、Athena/Redshiftとの検出およびクエリ統合のためにGlueデータカタログを維持します。


すべてのドメイン · データストレージとレイクアーキテクチャ

これらの問題を練習する → · ExamRoll.ioで時間制限付き練習 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

試験に合格する →

Amazonを閲覧 →

Related guides

オールインワンアクセス

1つのサブスクリプション。すべての試験。

すべてのプランで、無制限の回答検索、模擬試験、AI解説、および完全なリソースライブラリが利用可能 — 20以上の言語に対応。

月額
24.87
Just €0.83/day
すべて含まれています:
  • 無制限の回答検索
  • 無制限の模擬試験
  • AIを活用した解説
  • 完全なリソースライブラリ
  • 20以上の言語
  • 毎週のコンテンツ更新
  • 特典 & 紹介
  • 優先サポート
無料トライアルを開始

クレジットカード不要*

ベストバリュー
12ヶ月
179.87
Just €0.49/daySave 40%
すべて含まれています:
  • 無制限の回答検索
  • 無制限の模擬試験
  • AIを活用した解説
  • 完全なリソースライブラリ
  • 20以上の言語
  • 毎週のコンテンツ更新
  • 特典 & 紹介
  • 優先サポート
無料トライアルを開始

クレジットカード不要*

✓ 無料プランが含まれています · ✓ いつでもキャンセル可能 · ✓ すべてのプランで製品の全機能が利用可能