今回はAmazon Elastic MapReduce(EMR)について解説します。Amazon EMRは、Amazonクラウド内でHadoopフレームワークを利用可能にする機能です。Hadoopフレームワークとは、分散処理を実現するミドルウエアの一つで、例えば大量のログやトランザクションデータの集計などのバッチ処理を、複数のサーバーで並列処理するアプリケーションを開発できます。

 Amazon EMRの用途は、ログ分析、ウェブインデックス作成、データウエアハウス、機械学習、財務分析、科学シミュレーション、バイオインフォマティクスなど多岐にわたります。2009年にサービスを開始して以来、550万以上の Amazon EMR クラスターが利用者によって起動されています。

 例えば、何万人分ものゲノム情報の収集や解析、医療情報のグローバル共有など、医療や科学の発展を目的とした国際プロジェクトで、Amazon S3にデータを保管しながら、Amazon EMRによりデータを分析するといった取り組みも進んでいます。このプロジェクトでは、大量のゲノム情報をいったんAmazon S3に数時間~数日間保存。保存された情報に対して、次の処理であるAmazon EMRによるデータのハッシングとアラインメントが実行されます。アラインメント処理は、Spark/Shark/Hadoop/SNAPで効率的に実行し、アラインメント後の「DNAシーケンス」をAmazon S3に保存するという流れです。

図●Amazon EMRなどを活用したゲノム解析の流れ
図●Amazon EMRなどを活用したゲノム解析の流れ
[画像のクリックで拡大表示]

 このようにAWS上で大規模なデータを定常的に処理する環境においては、Amazon S3が中心になってデータを保管し、Amazon EMRを用いてそのデータを解析する、といった形態が多く見られます。最適なサービスを容易に組み合わせられることも、AWSの利点として評価されています。