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

あるデータエンジニアリングチームは、以下の順番で実行する複雑なETLパイプラインを構築しています。 ①AWS Glueジョブでデータを前処理してS3に出力する ②Amazon EMR上でApache Sparkジョブを実行してデータを集計する ③集計結果をAmazon Redshiftにロードする ④成功・失敗をAmazon SNSで通知する 各ステップで再試行ロジックとエラーハンドリングが必要であり、パイプライン全体の実行状態をビジュアルに監視したいと考えています。この要件に最も適したオーケストレーションサービスはどれですか?

A
Amazon EventBridge Scheduler を使って各ステップを順番にスケジュールし、Amazon CloudWatch Events で実行を監視する
Amazon EventBridge Schedulerは定期スケジュールでタスクを起動するサービスであり、前ステップの成功・失敗に応じた動的制御やエラー時の自動リトライを設定する複雑なワークフロー制御には対応しておらず、要件を満たせない。
B
AWS Glue Workflow を使って各ジョブとクローラーをトリガーで連鎖させ、Glue コンソールで実行状態を確認する
AWS Glue WorkflowはGlueジョブやクローラーのオーケストレーションに有効だが、Amazon EMRジョブの実行やAmazon SNS通知などGlue以外のAWSサービスをネイティブに統合する機能がなく、マルチサービスのパイプラインには不向き。
C
AWS Step Functions でステートマシンを定義し、各ステップにSDK統合とCatch/Retryを設定してビジュアルワークフローを管理する
✓ 正解
Glue・EMR・Redshift Data API・SNSなど200以上のAWSサービスとSDK統合で連携でき、各ステートにCatchとRetryを宣言的に設定できる。ビジュアルコンソールでワークフロー全体の状態遷移と実行履歴をリアルタイムに確認できる。
D
AWS Lambda 関数を連鎖させてパイプラインを実装し、各Lambdaから次のLambdaを同期的に呼び出す
Lambda関数を同期的に連鎖させると15分のタイムアウト制限があり、EMRジョブのような長時間実行タスクの完了待ちに対応できない。状態管理やエラーハンドリングもコードで全て実装する必要があり、パイプライン全体が複雑化する。

解説

AWS Step Functions はサーバーレスのワークフローオーケストレーションサービスで、Amazon States Language(JSON)でステートマシンを定義します。AWS Glue、Amazon EMR、Amazon Redshift Data API、Amazon SNSなど200以上のAWSサービスとSDK統合によりコードなしで連携でき、各ステートにCatch(エラーハンドリング)とRetry(再試行設定)を宣言的に記述できます。実行中のワークフローはStep Functionsコンソールでビジュアルに状態遷移を確認でき、実行履歴も保存されます。 選択肢AのAmazon EventBridge Schedulerは定期スケジュールでタスクを実行する機能ですが、前ステップの成功を受けて次のステップを実行したり、エラー時に自動リトライするような複雑なワークフロー制御には対応していません。 選択肢BのAWS Glue WorkflowはGlueジョブやクローラーのオーケストレーションに有効ですが、Amazon EMRジョブの実行やAmazon SNS通知といったGlue以外のサービスをネイティブに組み込む機能がなく、マルチサービスのパイプラインには不向きです。 選択肢DのAWS Lambda連鎖は同期呼び出しの場合15分のタイムアウト制限があり、EMRジョブのような長時間実行タスクの待機に対応できません。また状態管理とエラーハンドリングをコードで実装する必要があり複雑化します。

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

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

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