Amazon Elastic MapReduceとは
昨今、バッチ処理にHadoop を活用する事例が話題になっています。その中でも特筆すべきなのは、分散処理技術であるMapReduceです。しかし、MapReduceを実際に使うには、数台から数100台のサーバを用意し、Hadoopのセットアップもしなければなりません。そのようなサーバ構築・管理、セットアップの手間を無くし、すぐ使えるのがAmazon Web Service(AWS) のElastic MapReduce(EMR) です。
図1 Amazon Elastic MapReduce
AWS、MapReduceの説明は多くの書籍、ブログなどを参照してください。また、EMRを使用するには、まずAWSのアカウントを作っておく必要がありますが、その手順も割愛させていただきます。本連載ではEMRの使い方、気をつけなければいけない点などを重点的に紹介していきます。
利用申請をする
EMRを使用するには、利用を申請しなければなりません。以下のURLにアクセスし、画面右側にある「Elastic MapReduceの利用を申し込む」から画面の指示に従って申請してください。
Amazon Elastic MapReduce
URL:http://aws.amazon.com/jp/elasticmapreduce/
また、Amazon SimpleDB(以降、SimpleDB)もあわせて利用申請をしておいてください。本連載中で紹介するデバッグモードを使用する際に必要となります。
なお、EMRで使用するデータはAmazon Simple Storage Service(S3)上に保存しなければなりませんが、こちらはAWSのアカウント申請と同時に使用できるようになっていますので特に気にしなくて大丈夫です。
注意していただきたいのは、Amazon EC2の初期インスタンス数は20が上限、という点です。20インスタンス以上でEMRを使用したい場合は、下記のフォームから上限数の解除申請を行ってください。
Request to Increase Amazon EC2 Instance Limit
URL:http://aws.amazon.com/contact-us/ec2-request/
S3にデータを転送する
申請が終わったら、次は分析をするデータの転送です。AWS Management Console上からS3にデータを転送できますが、下記ツール類を使ってデータを転送することもできます。
注意していただきたいのは、AWS Import/Exportは日本からはUS StandardとAsiaPacific(Singapore)しかサポートされていないことです(2011年1月執筆時点) 。また、AWSでは、データがTBを超える場合はAWS Import/Exportを使用することが推奨されています。
なお、バケットに対して、1つのオブジェクト(ファイル)が保存できる容量は5TBです。以前は5GBまでという制限でしたが、5TBに拡張されたので特に気にする必要はないでしょう。
データが大容量の場合は、AWS Import/Exportを使用したほうが時間とコストともに節約できます。具体的な目安は上記のAWS Import/Exportのページに記載されていますので、確認してみてください。ちなみに筆者の経験では、発送から1週間以内でS3への転送が完了していました。
EMRを操作する
以上の準備ができたら、いよいよEMRを操作できるようになります。
一番簡単なのは、AWS Management Consoleにログインし、EMRを操作する方法です。その他には、下記のツール類を使って操作することもできます。
ツールやSDKを使うことにより、処理を自動化することもできます。その方法についても、本連載でご紹介する予定です。
今回は、実際にEMRを使用するまでの方法を見てきました。次回はAWS Management Consoleを使う方法を紹介します。