MLA機械学習のためのデータ準備
IoT企業が工場内の1,000台のセンサーから毎秒数千件のデータをJSON形式で収集し、設備故障予測MLモデルのトレーニングデータとして使用したいと考えています。SageMakerでのトレーニングに備えてParquet形式でS3に保存する必要があり、インフラ管理を最小化しつつデータの変換・蓄積を自動化したいです。最小の運用負荷でこの要件を実現するための最も適切なアプローチはどれですか?
AAmazon Data FirehoseにJSON→Parquet変換とAWS Glue Data Catalogによるスキーマ管理を設定することで、サーバーレスにデータを自動収集・変換してS3へ配信する
✓ 正解
Amazon Data FirehoseはGlue Data Catalogのスキーマを参照してJSON→Parquetの自動変換をサポートするフルマネージドサービス。スケーリングやサーバー管理が不要で、大量ストリームデータをParquet形式でS3に継続配信できる最小運用負荷の構成。
BAmazon Kinesis Data Streamsでデータを受信し、EMRクラスター上のSpark StreamingジョブでリアルタイムにParquet形式へ変換してS3に書き込むストリーミングパイプラインを構築する
Kinesis Data Streams + EMR Spark Streamingはリアルタイム処理が可能だが、EMRクラスターのプロビジョニング・スケーリング・管理が必要で、Data Firehoseと比較して運用負荷が大幅に増加する。
CAmazon MSK(Managed Streaming for Apache Kafka)でストリームデータを受信し、AWS Lambda関数がトリガーされて1レコードずつParquet変換後にS3にアップロードする
MSK + LambdaはKafka互換のストリーミングが可能だが、Lambdaは1レコードずつ処理するためParquet変換のようなバッファリングが必要な形式変換には不向きで、高スループット環境では非効率になる。
DAmazon SQSにセンサーデータをキューイングし、EC2 Auto Scalingグループがポーリングしてバッチ処理でParquet変換を行い、完了後にS3へ保存するバッチパイプラインを構築する
SQS + EC2 Auto Scalingはサーバーレスではなく、EC2インスタンスのプロビジョニング・パッチ適用・スケール設定などの管理が必要で、今回の選択肢の中で最も運用負荷が高い。
解説
Amazon Data Firehoseは、ストリームデータをS3・Redshift・OpenSearchなどに配信するフルマネージドサービス。組み込みのデータ変換機能として、AWS Glue Data Catalogに登録されたスキーマを参照してJSON→Parquet/ORC形式への自動変換をサポートしており、サーバーのプロビジョニング・スケーリング・管理が不要。毎秒数千件の大量データも自動的にスケールして処理できるため、運用負荷を最小化しつつMLトレーニング用のデータ収集・変換・蓄積パイプラインを実現できる。
選択肢BのAmazon Kinesis Data Streams + EMR Spark Streamingは、EMRクラスターのプロビジョニング・管理・スケーリングが必要で、Data Firehoseと比較して運用負荷が大幅に高い。
選択肢CのAmazon MSK + AWS Lambdaは、Lambdaの同時実行制限やメモリ制約があり、毎秒数千件の高スループットでのParquet変換では非効率でコストも高くなる。
選択肢DのAmazon SQS + EC2 Auto Scalingは、EC2インスタンスの管理が必要で、選択肢の中で最も運用負荷が高い構成となる。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでMLAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →