Q51 — AWS SAA-C03 第6章
第 51/65 問 | ← 第6章
Q416. ある企業のレポーティングシステムでは、毎日数百個の .csv ファイルが Amazon S3 バケットに配信されます。この企業は、これらのファイルを Apache Parquet 形式に変換し、変換後のデータを別の S3 バケット(変換済みデータバケット)に保存する必要があります。これらの要件を満たす解決策のうち、開発工数が最も少ないものはどれですか?
- A. Apache Spark をインストールした Amazon EMR クラスターを作成します。Spark アプリケーションを記述してデータを変換します。出力先として変換済みデータバケットに書き込むために、EMR File System(EMRFS)を使用します。
- B. AWS Glue クローラーを作成してデータを検出します。次に、AWS Glue の抽出・変換・ロード(ETL)ジョブを作成してデータを変換します。出力ステップで変換済みデータバケットを指定します。 ✓
- C. AWS Batch を使用して、Bash スクリプトでデータ変換と出力先(変換済みデータバケット)への書き出しを行うジョブ定義を作成します。このジョブ定義を使ってジョブを送信し、ジョブタイプとして配列ジョブ(array job)を指定します。
- D. AWS Lambda 関数を作成してデータを変換し、変換結果を変換済みデータバケットに出力します。S3 バケットに対してイベント通知を設定し、その通知先としてこの Lambda 関数を指定します。
正解: B. AWS Glue クローラーを作成してデータを検出します。次に、AWS Glue の抽出・変換・ロード(ETL)ジョブを作成してデータを変換します。出力ステップで変換済みデータバケットを指定します。
解説
AWS Glue は、サーバーレスでマネージドな ETL サービスであり、CSV から Parquet への変換などの一般的なデータフォーマット変換をコードゼロまたは最小限のコードで実行できます。クローラーによるスキーマ検出と、事前構築された変換テンプレート(例:`ApplyMapping`、`ConvertToParquet`)を活用すれば、開発工数を大幅に削減できます。一方、EMR はクラスター管理やSparkアプリケーションの開発・デプロイが必要で、Lambda は大規模なCSVファイルや長時間実行の処理に制約(タイムアウト、メモリ上限)があり、AWS Batch はジョブのコンテナ化・スケジューリング設定など追加のオーバーヘッドがあります。したがって、開発工数が最も少ないのは選択肢 B です。