AWSとAmazon EMRを利用してみる:きょうから試せる Hadoop“スモールスタート”ガイド(6)(4/6 ページ)
実際にHadoopで処理を実装していきながら「Hadoopは、誰にだって扱える」を体感しましょう。今回は「AWSとAmazon EMRの利用方法」を解説します。
EMRを利用する
さて、前置きが長くなってしまいましたがいよいよEMRを利用します。EMRを利用するためには、以下の3つの方法があります。
- AWSコンソール
- Ruby製のコマンドラインツール(http://aws.amazon.com/developertools/2264)
- AWS SDK(開発者向けのSDK。Java、PHP、Python、Ruby、.NETに対応)
AWSコンソールを利用する
まずはEMRを使った処理の流れを確認するために、AWSコンソール上から簡単なジョブを実行してみましょう。EMRのAWSコンソールに「Create New Job Flow」と書かれていると思うのでそれをクリックします。
その後、任意のジョブフロー名を付けて、ジョブフロータイプを選択します。ここではあくまでも動作確認ということでEMRから提供されているサンプルアプリケーションを利用してみましょう。「Run a sample application」の中の「Word Count(Streaming)」を選択してください。
次に、入力データが置かれたディレクトリやMapper、Reducerの指定を行います。今回はサンプルアプリケーションを選択したため、入力データの置かれたディレクトリやMapper、Reducerについては最初から選択されており、それらがそのまま利用できます。出力先のディレクトリだけ先ほど作成した自分のS3のバケット内のパス(例えばs3n://sasata299/output/YYYY-MM-DDなど)を設定してください。
次はインスタンスのタイプと数を指定します。EC2の利用時にはマイクロインスタンスが選択でき、新規AWSアカウント登録ユーザであればマイクロインスタンスを一年間無料で利用できると説明しましたが、EMRでは残念ながらマイクロインスタンスは選択できません。
EMRを利用する際には一番安くてもスモールインスタンスになります。が、掛かる料金は1時間当たり1台につき10円程度なので長時間利用しない限りはそれほど気にしなくても良いでしょう。なお、コストを抑えるためにはスポットインスタンスを利用するという方法もあります。これについては後述します。
その後、マスターノードにログインする際に利用するキーペアを設定したり、ジョブフローが終了したときにHadoopクラスタを終了させるか否か(Keep Alive)を指定するフローになります。Keep AliveをYesにした場合には、ジョブフロー終了後、明示的にHadoopクラスタを終了させる必要があるので停止させるのを忘れないように注意してください。明示的に終了しない限り、クラスタが起動し続けて、その間もずっと課金が行われます。
最後にブートストラップアクションの設定があります。今回は特に何も指定せずに進みますがブートストラップアクションを利用したい場合にはここで実行したいファイルのパスを指定してください。
ここまで設定すればジョブフローの起動が始まります。直後はジョブフローの状態が「STARTING」となっていますが、起動が完了すると「RUNNING」に、ジョブフローが完全に終了すると「WAITING」もしくは「TERMINATED」に変わります。
ジョブフロー実行後には、指定したアウトプットディレクトリに実行結果が配置されているはずなので正しくワードカウント処理が行われたかを確認しましょう。今回は入力データも用意されたものでしたが、このような結果が得られていれば正しく実行されたと考えて良いでしょう。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- もし、あなたが「“ビッグデータプロジェクト”を任せる。何とかするように」と言われたら
「ビッグデータプロジェクトを始めることになった」ら、具体的に何をするのか。本連載は、「ビッグデータプロジェクトの“進め方”」を業務視点/ビジネス視点の両面から体系的に理解し、具体的に実践していく方のためのナレッジアーカイブです。第1回目は、「ビッグデータとは何か」の基礎と、「ビッグデータ基盤の概要とメリット」を解説します。 - Hadoopは「難しい・遅い・使えない」? 越えられない壁がある理由と打開策を整理する
ブームだったHadoop。でも実際にはアーリーアダプター以外には、扱いにくくて普及が進まないのが現状だ。その課題に幾つかの解決策が出てきた。転換期を迎えるHadoopをめぐる状況を整理しよう。 - いまさら聞けないHadoopとテキストマイニング入門
Hadoopとは何かを解説し、実際にHadoopを使って大規模データを対象にしたテキストマイニングを行います。テキストマイニングを行うサンプルプログラムの作成を通じて、Hadoopの使い方や、どのように活用できるのかを解説します - 欧米の金融業界は今、どうHadoopを活用しているか
Hadoopは、欧米の金融関連サービス業界でどう活用されているか。米Hortonworksの金融サービス業界担当ゼネラルマネージャーへのインタビューで得た情報を、2回に分けてお届けする。今回は金融業界におけるHadoopのユースケースを概観する。