無限ノック › DEA 練習問題一覧 › 問題
DEAデータの取り込みと変換

あるデータエンジニアリングチームは、Amazon Kinesis Data Streamsに流れ込むクリックストリームデータを継続的に取り込み、フィルタリングと変換処理を行った後にAmazon S3に書き込むパイプラインを構築したいと考えています。チームはすでにAWS Glueのバッチジョブ開発に精通しており、同じGlueの枠組みでストリーミング処理も実装したいと考えています。最も適切な方法はどれですか?

A
AWS Glueでジョブタイプを「Spark Streaming」として作成し、Kinesis Data Streamsをソースに指定したストリーミングETLジョブを実行する
✓ 正解
AWS GlueはSpark Streamingジョブタイプをサポートしており、Kinesis Data StreamsやAmazon MSKをソースとした継続的なETL処理が可能です。既存のGlueバッチジョブと同様にPySparkやDynamic Framesを活用でき、チームの既存スキルをそのまま流用できます。
B
AWS Glue DataBrewのジョブをKinesis Data Streamsに接続し、リアルタイムでレシピを適用して変換する
AWS Glue DataBrew はビジュアルインターフェースでのデータ準備ツールであり、ストリーミングデータのリアルタイム取り込みには対応していません。
C
AWS Lambda関数をKinesis Data Streamsのイベントソースとして設定し、変換後にAmazon S3へ直接書き込む
AWS Lambda は軽量な変換には有効ですが、複雑なETLロジックや大規模データ処理にはGlueのSpark処理が適しており、チームのGlueスキルも活用できません。
D
AWS Glueジョブを1分間隔でスケジュール実行し、Kinesis Data StreamsのシャードからGetRecords APIで定期的にデータを取得する
AWS Glue ジョブを定期スケジュール実行する方法は疑似的なミニバッチ処理であり、ストリーミングではなく遅延が生じます。またKinesis GetRecords APIの直接操作はGlue標準の使い方ではなく実装が複雑になります。

解説

正解: AWS Glueでジョブタイプを「Spark Streaming」として作成し、Kinesis Data Streamsをソースに指定したストリーミングETLジョブを実行する。 AWS GlueはSpark Streamingジョブタイプをサポートしており、Kinesis Data StreamsやAmazon MSKをソースとした継続的なETL処理が可能です。既存のGlueバッチジョブと同様にPySparkやDynamic Framesを活用でき、チームの既存スキルをそのまま流用できます。 選択肢Bは AWS Glue DataBrew はビジュアルインターフェースでのデータ準備ツールであり、ストリーミングデータのリアルタイム取り込みには対応していません。 選択肢Cは AWS Lambda は軽量な変換には有効ですが、複雑なETLロジックや大規模データ処理にはGlueのSpark処理が適しており、チームのGlueスキルも活用できません。 選択肢Dは AWS Glue ジョブを定期スケジュール実行する方法は疑似的なミニバッチ処理であり、ストリーミングではなく遅延が生じます。またKinesis GetRecords APIの直接操作はGlue標準の使い方ではなく実装が複雑になります。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DEA の問題一覧に戻る