無限ノック › MLA 練習問題一覧 › 問題
MLA機械学習のためのデータ準備

動画配信サービス企業が、1時間あたり200万件のユーザー視聴イベント(JSON形式)をリアルタイムで収集しています。 これらのイベントは翌日の推薦モデルのバッチ再学習に使用するためAmazon S3に保存する必要があり、MLトレーニング時のスキャン効率向上のためにParquet形式での保存が要件です。 最小の運用負荷でこのデータ収集パイプラインを構築する方法はどれか。

A
Amazon Kinesis Data StreamsでイベントをキャプチャしてAWS Lambda関数でJSONをParquetに変換し、S3にPutObjectでアップロードするパイプラインを構築する
Kinesis Data Streams + Lambdaの構成でもParquet変換は実現できますが、Parquetライブラリ管理・Lambda実行時間制限・小ファイル問題への対処など、Data Firehoseと比較して実装・運用の複雑さが増します。
B
Amazon Data Firehoseの配信ストリームでイベントをキャプチャし、Apache ParquetへのデータフォーマットをAWS Glueデータカタログと組み合わせてS3に自動配信する
✓ 正解
Amazon Data Firehoseは、Glueデータカタログを活用したJSONからParquetへのサーバーレス変換とS3への自動配信を提供します。インフラ管理不要・自動スケーリング・組み込みバッファリングにより、最小の運用負荷でこの要件を実現できます。
C
Amazon MSK(Managed Streaming for Apache Kafka)でイベントを受信し、EMR上のSpark Structured StreamingジョブでParquetに変換しながらS3に書き込む
Amazon MSK + EMR Spark Structured Streamingは高いカスタマイズ性を持ちますが、MSKブローカーとEMRクラスターの両方の設定・スケーリング・モニタリングが必要であり、最小運用負荷という要件に反します。
D
AWS IoT CoreのルールアクションでイベントをS3にJSON形式で直接保存し、AWS Glue Crawlerでスキーマ検出後にGlue ETLジョブでParquetに変換する
AWS IoT CoreはIoTデバイス向けのMQTTブローカーであり、汎用のWebアプリケーションイベントストリームには適していません。また、JSON保存後にGlue ETLで変換する2段階構成は運用複雑性を増加させます。

解説

Amazon Data Firehoseは、ストリーミングデータをAmazon S3などへフルマネージドに配信するサービスです。JSONからApache Parquetへのフォーマット変換をAWS Glueデータカタログのスキーマを使ってサーバーレスで実行でき、追加のコーディングやインフラ管理なしにParquet形式でのS3配信を実現できます。 1時間あたり200万件のスループットも自動スケーリングで対応でき、バッファリング・圧縮・暗号化も組み込み機能として提供されます。サーバーレスかつフルマネージドであるため運用負荷を最小化できる点がこのシナリオに最適です。 選択肢AのKinesis Data Streams + Lambdaパターンは構築可能ですが、Parquet変換ライブラリの管理・Lambdaのバッチサイズ調整・S3書き込みのべき等性確保など、Data Firehoseと比較して追加の実装・運用コストが発生します。 選択肢CのAmazon MSK + EMR Spark Structured Streamingは高いカスタマイズ性がありますが、MSKクラスターとEMRクラスターの両方の管理が必要で、運用負荷が大きくなります。 選択肢DのAWS IoT Coreは主にIoTデバイスからのデータ収集向けのサービスで、汎用のユーザーイベント収集には適しておらず、2段階変換(JSON保存→Glue ETL)による遅延と複雑さも生じます。

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

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

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