Amazon Elastic MapReduce(Amazon EMR)は、ビジネス、研究者、データアナリスト、および開発者が、簡単に、そして費用対効果の高い方法で、莫大な量のデータを処理することができるようにするウェブサービスです。これはホストされた Hadoop フレームワークを利用しています。Hadoop フレームワークは、Amazon Elastic Compute Cloud(Amazon EC2)および Amazon Simple Storage Service(Amazon S3)の、ウェブスケールのインフラストラクチャ上で稼動します。
Amazon Elastic MapReduce を使用すれば、ウェブインデックス化、データマイニング、ログファイル分析、データウェアハウジング、マシンラーニング、財務分析、科学シミュレーション、生物情報科学研究など、莫大なデータ処理を必要とするタスクを、能力の規模を自在に調整しながら、簡単にセットアップできます。Amazon Elastic MapReduce では、時間のかかる Hadoop クラスタのセットアップ、管理、調節や、それらが備える計算能力について心配することなく、データを集中的に高速処理または分析することができます。
| 最新情報 | |
| Amazon DynamoDB との統合 | |
|
Amazon Elastic MapReduce は、Amazon DynamoDB と統合できます。Amazon DynamoDB は、高速で予測可能なパフォーマンスとシームレスな拡張性を提供する、完全に管理された、NoSQL のデータベースサービスです。Elastic MapReduce を使用して、DynamoDB に保管されたデータセットを分析して結果を DynamoDB に読み込むか、または Amazon S3 でアーカイブすることが可能です。
|
|
| CloudWatch の無料メトリックス(動画) | |
| ヘルプが必要ですか? | |
| Elastic MapReduce フォーラムで質問する | |
Amazon Elastic MapReduce は自動的に、Amazon EC2 インスタンス上で、MapReduce フレームワークの Hadoop 実装をスピンアップし、ジョブフローのデータを小さな塊に分割して、それらが並列処理(「マップ」機能)され、最終的に処理データが最終形態に再結合(「還元」機能)されるようにします。Amazon S3 は、分析されるデータのソースとして、また最終結果の出力先として機能します。
Amazon Elastic MapReduce を使用するには、以下の手順に従うだけです:
柔軟性 - Amazon Elastic MapReduce では、Hadoop 上で稼動する計算処理インスタンスの数を、お客様が望むだけ使用することができます。1つ、数百、または数千のインスタンスを作動させ、ギガバイト、テラバイト、そして時にはペタバイトものデータを処理することができます。ジョブフローを実行中に数々のインスタンスを変更できます。また、制限なく複数のジョブフローを同時に実行できます。大規模な Hadoop ジョブフローを、数時間や数日ではなく、数分以内にすぐに処理を開始できます。ジョブフローの完了時、特に指定しない場合は、サービスが自動的にインスタンスを停止します。
簡単使用 - Hadoop クラスタのセットアップ、稼動、パフォーマンスの調整について心配する必要はありません。その代わりに、データ分析に集中することができます。使いやすいツールと、サンプルデータの処理アプリケーションが提供されるので、コードを一行も記述することなく、立ち上げと稼動を行うことができます。ジョブフローを開始すると、Amazon Elastic MapReduce は、Amazon EC2 インスタンスのセットアップ、セキュリティ設定、Hadoop 設定とセットアップ、ログ収集、健全度モニタリング、および実行中のジョブフローから自動的に問題のあるインスタンスを削除するなど、その他のハードウェア関連の複雑性を処理します。
信頼性 - Amazon Elastic MapReduce は、Amazon の極めて信頼性の高いインフラストラクチャ上に構築されています。また、Amazon インフラストラクチャ環境に特化するよう、Hadoop のパフォーマンスを調整しています。このサービスは、ジョブフローの実行も監視し、失敗したタスクの再実行、問題インスタンスの停止、失敗タスクに新しいノードを提供します。
その他の AWS サービスとシームレスに統合 - Amazon Elastic MapReduce は、Amazon S3 や DynamoDB、EC2 といったその他の AWS サービスと簡単に統合されるよう設計されており、データ処理アプリケーションのためのインフラストラクチャを提供します。このサービスはジョブフローを Amazon EC2 内で実行し、入出力データを Amazon S3 や Amazon DynamoDB に保管します。
セキュリティ - Amazon Elastic MapReduce は自動的に Amazon EC2 ファイヤウォール設定を行います。これがジョブフローを実行するインスタンスに対する、またはインスタンス間のネットワークアクセスをコントロールします。ジョブフローは Amazon Virtual Private Cloud(Amazon VPC)内で起動することができ、そうすることにより使用したい IP 幅を指定してコンピュートインスタンスを隔離し、業界標準の暗号化された IPsec VPN を使用して、既存の IT インフラストラクチャに接続することができます。
安価 – Amazon Elastic MapReduce は、Amazon のもつ規模の経済のメリットをお客様にもたらします。実際に使用するコンピュート能力に対してのみ、非常に低額な料金をお支払いただきます。Amazon Elastic MapReduce は、ジョブフローの進行を監視して、ジョブフローの完了時にリソースを停止することにより、コストを削減するために最適化されています。
複数のロケーション - Amazon Elastic MapReduce は、地理的に分散した EC2 インフラストラクチャを使用しています。現在は、米国東部(バージニア北部)、米国西部(オレゴン)、米国西部(北カリフォルニア)、欧州(アイルランド)、アジアパシフィック(シンガポール)、アジアパシフィック(東京)、および南米(サンパウロ)リージョンでご利用いただけます。
サードパーティツール — Amazon Elastic MapReduce は、幅広い種類のサードパーティツールやソリューションと統合できます。たとえば、Karmasphere Analyst は、Amazon Elastic MapReduce のデータを分析するための視覚的なデスクトップのワークスペースです。これは、構造化データと非構造化データへの SQL ベースのクエリを実行し、結果を可視化するグラフィカルなツールを提供します。Karmasphere Analyst は時間単位の料金で、前金の支払いや長期的な契約は必要ありません。詳細については、Elastic MapReduce と Karamasphere Analytics の詳細ページをご覧ください。
Amazon Elastic MapReduce を使用するには、使用したい Amazon EC2 インスタンスの種類や数量を最初に選択する必要があります。Amazon Elastic MapReduce では、Amazon EC2 Linux/Unix インスタンスタイプを使用できます。オンデマンドおよびリザーブドインスタンスの両方がサポートされています。お客様がリザーブドインスタンスを保有していれば、最初にジョブフローが使用します。現在 Amazon Elastic MapReduce でサポートしているのは、以下に一覧されているインスタンスタイプのみです。
このファミリーのインスタンスは、ほとんどのアプリケーションに適しています。
このファミリーのインスタンスは、データベースやメモリキャッシング アプリケーションなど、高スループットのアプリケーションのために、大容量のメモリサイズを提供します。
このファミリーのインスタンスは、比率的にメモリ(RAM)よりも多くの CPU リソースを持ちます。
このファミリーのインスタンスは、大量のメモリサイズ、10 Gbps の高速 CPU ネットワークを組み合わせています。高性能、I/O 集中アプリケーション、科学的調査におけるゲノムのマッピング、エンジニアリングにおける航空宇宙や自動車設計のシミュレーション、ビジネスインテリジェンスに対するデータマイニングに適しています。
EC2 Compute Unit(ECU) - 1 EC2 Compute Unit(ECU)は、1.0-1.2 GHz 2007 Opteron または 2007 Xeon プロセッサの CPU 能力と同等の能力を提供します。
Amazon Elastic MapReduce は現在、米国、欧州、アジアパシフィック、および南米のリージョンでご利用いただけます。使用分に対してのみ料金をお支払いいただき、最低料金はありません。Amazon Elastic MapReduce の料金は、通常の Amazon EC2 および Amazon S3 料金に加算されます。
Amazon EC2、Amazon S3、および Amazon SimpleDB の料金は別々に請求されます。Amazon Elastic MapReduce の料金は、ジョブフローが処理を開始してから終了するまで、各インスタンスタイプについて消費されるインスタンス時間ごとに課金されます。1時間未満の各インスタンス時間は、1時間分として請求されます。Amazon EC2 インスタンスタイプ、Amazon EC2 リザーブドインスタンス料金、Amazon S3 料金、Amazon SimpleDB 料金の詳細については、以下のリンクをクリックしてください。
| 開発者用リソース |
Amazon Elastic MapReduce は、その分散型処理エンジンとして、Apache Hadoop を使用しています。Hadoop はオープンソースの Java ソフトウェアフレームワークで、商用ハードウェアの大規模なクラスタ上で稼動する、莫大なデータを処理する分散型アプリケーションをサポートしています。Hadoop は、「MapReduce」と呼ばれる計算モデルを実装しています。ここではジョブは小さな作業断片に分割され、その各作業断片を、クラスタ上の任意のノードで実行することができます。このフレームワークは開発者、企業、ベンチャービジネスによって利用されており、最大ペタバイトに達するデータを、何千もの商用マシンクラスタ上で処理するために、信頼性の高いソフトウェアプラットフォームであることを証明しています。
Amazon Elastic MapReduce によって、Java、Perl、Ruby、Python、PHP、R、または C++ など、様々な言語でデータ処理アプリケーションを実施できます。これらのアプリケーションを異なるインスタンスタイプやジョブフローのサイズ上でテストし、お客様独自の事例のために最適なパフォーマンス設定を行うことができます。
AWS Management Console にログインし、Amazon Elastic MapReduce「ジョブフロー」を開始します。望みの Amazon EC2 インスタンスの数と種類を選択し、Amazon S3 上のデータおよび/またはアプリケーションのロケーションを指定します。それから [ジョブフローの作成] ボタンをクリックします。代わりに、コマンドラインツールまたは API を使用して、上記と同様の情報を指定し、ジョブフローを開始することもできます。Amazon Elastic MapReduce は使いやすく柔軟性の高い、シンプルなウェブサービス インターフェイスを採用しています。
20を超えるジョブフローを実行したい場合は、インスタンス申請フォームにご記入ください。
実際に使用したリソース分に対してのみお支払いいただきます。例えば、Amazon Elastic MapReduce のジョブフローのために、100の Amazon EC2 スタンダード スモールインスタンスを立ち上げたとします。この場合、Amazon Elastic MapReduce のコストは1時間ごとに$0.015増加します。Amazon EC2 インスタンスはすぐにブートを開始しますが、それらのすべてが必ずしも同時に開始するわけではありません。Amazon Elastic MapReduce は、タスク処理を受け付けられるように、各インスタンスの起動時を記録し、それらをクラスタに登録します。
リクエストを起動してから最初の10分間、Amazon Elastic MapReduce はジョブフローを開始(お客様の全インスタンスが利用可能な場合)するか、または可能な限り多くのインスタンスを登録します。10分間が経過すると、Amazon Elastic MapReduce は、リクエストされたインスタンスの90%が利用可能となった時点で、可及的速やかにジョブフローの処理(または課金)を開始します。リクエストされたインスタンスの残り10%も登録されているため、Amazon Elastic MapReduce は、これらのインスタンスに対しても同様に課金を開始します。
そのため上記例では、リクエストの起動開始後10分間でリクエストされたインスタンス100がすべて利用可能な場合は、ジョブフローが完了する限り、1時間に付き$1.50(100 × $0.015)が課金されます。その10分間でリクエストされたインスタンスの90のみが利用可能であった場合は、これがジョブフローを実行するインスタンス数である限り、一時間に付き$1.35(90 × $0.015)が課金されます。残りの10インスタンスが登録された場合、ジョブフローの残りが完了する限り、1時間に付き$1.50(100 × $0.015)が課金されます。各ジョブフローは、以下のいずれかが発生するまで実行されます: TerminateJobFlows API 呼び出し(または同等のツール)でジョブフローを終了する、ジョブフローがそれ自体をシャットダウンする、ソフトウェアまたはハードウェアの障害のためにジョブフローが終了する。消費される1時間未満のインスタンス時間は、1時間分として請求されます。