DEAデータの取り込みと変換
あるデータエンジニアリングチームは、Amazon Kinesis Data Streamsに流れ込むクリックストリームデータを継続的に取り込み、フィルタリングと変換処理を行った後にAmazon S3に書き込むパイプラインを構築したいと考えています。チームはすでにAWS Glueのバッチジョブ開発に精通しており、同じGlueの枠組みでストリーミング処理も実装したいと考えています。最も適切な方法はどれですか?
AAWS Glueでジョブタイプを「Spark Streaming」として作成し、Kinesis Data Streamsをソースに指定したストリーミングETLジョブを実行する
✓ 正解
AWS GlueはSpark Streamingジョブタイプをサポートしており、Kinesis Data StreamsやAmazon MSKをソースとした継続的なETL処理が可能です。既存のGlueバッチジョブと同様にPySparkやDynamic Framesを活用でき、チームの既存スキルをそのまま流用できます。
BAWS Glue DataBrewのジョブをKinesis Data Streamsに接続し、リアルタイムでレシピを適用して変換する
AWS Glue DataBrew はビジュアルインターフェースでのデータ準備ツールであり、ストリーミングデータのリアルタイム取り込みには対応していません。
CAWS Lambda関数をKinesis Data Streamsのイベントソースとして設定し、変換後にAmazon S3へ直接書き込む
AWS Lambda は軽量な変換には有効ですが、複雑なETLロジックや大規模データ処理にはGlueのSpark処理が適しており、チームのGlueスキルも活用できません。
DAWS 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生成のオリジナル問題。
無料で演習を始める →