大規模ECサイトのMLチームは、S3に蓄積された100TBのユーザー行動ログ(JSON形式)から複雑なセッション集計特徴量を抽出しています。処理にはApache Spark MLlib(SparkのML用ライブラリ)を使ったカスタムパイプラインが含まれ、Kryoシリアライザー(Spark用の高性能データシリアライズ方式)の設定やエグゼキュータのメモリ配分のチューニングが必要です。コスト最適化のためスポットインスタンスも活用したい。このユースケースに最も適したAWSサービスはどれですか?
Amazon EMRはApache Sparkクラスターを完全制御でき、KryoシリアライザーやGCオプションなど詳細なSpark設定(spark-defaults.conf)を自由に変更できます。スポットインスタンスとオンデマンドを混在させたインスタンスフリートで100TBスケールのコスト最適化も可能です。 選択肢AのAWS Glue ETLはSparkを利用しますがKryoシリアライザーのカスタマイズなど詳細なSparkチューニングが制限されています。 選択肢CのSageMaker ProcessingはSparkジョブを実行できますがクラスター構成の柔軟性に欠けます。 選択肢DのAWS Lambdaは最大15分のタイムアウトとメモリ制限があり大規模バッチ処理には不適切です。