Amazon Elastic MapReduceを使う:マネージメント・コンソールからサンプルを動かす。

前回の記事では、Amazon Web ServicesのEMR(Amazon Elastic MapReduce)で、マネージメント・コンソールからクラスタを作成した。
今回は、同じくマネージメント・コンソールから、サンプルプログラム(Word Count)を起動してみる。
Pythonで書かれたサンプルで、詳細はAmazon Web ServicesArticles&Tutorials>Word Count Exampleにある。


クラスタが起動した状態で、マネージメント・コンソールでStepを追加する。

このとき、以下のように設定する。

Step Type Streaming Program(Scriptなので、Hadoop Stremaingを使う)
Name Word Count(任意)
Mapper s3://elasticmapreduce/samples/wordcount/wordSplitter.py
Reducer aggregate
Input S3 Location s3://elasticmapreduce/samples/wordcount/input/
Output S3 Location 結果を出力したいバケット/フォルダー

上図の青いAddボタンを押すと、Stepが追加され、プログラムが実行される。正常に実行されると、下図のように緑でRunning表示される。実行途中、もしくは起動に失敗すると、赤でFailedと表示される。

先の記事で、クラスタのログの出力先を指定した。指定したバケット/フォルダー下のステップ番号(下の例では6)配下に、ログた出力される。

以下が、syslog。

以下がcontrollerログの中身。


StepがCompletedとなったら、ステップ終了。

出力先に指定したバケット/フォルダーに結果が出力される。_SUCCESSは正常終了。part-00000, part-00001, part-00002がワードカウントの結果。

以下が、part-00000の中身である。


一旦ここで、クラスタを終了する。(前回の記事の方法で起動した場合、明示的にクラスタを終了しなければ、クラスタが起動しつづけてしまい、その間、下記されてしまう)
コンソール画面で、Terminateボタンを押すと、以下の画面となる。

これは、クラスタを起動した際に、Termination ProtectionをYesにしたため(下図)。
上の画面で、Changeをクリックして、Protectionを解除する。

すると、ProtectionがOffに変化する。

Terminateを押すと、クラスタが終了し、マネージメント・コンソールにTerminatingと表示される。