@fumito_itoのHadoopブログ

Windows向けのHadoopディストリビューションについて書いていきます。現在のところはApache Hadoop on Azure CTPがメイン。リリースされ次第、Apache Hadoop for Windows Serverについても書く予定。

Hadoop on AzureのInteractive ConsoleでMapReduceしてみる(Java版)

現在CTPとして公開されているApache Hadoop on Azureというサービスがあります。

要はHadoop for Windows ServerをAzure上で利用できますよ!というものなのですが、無料な上に32ノードまで利用できるのでとってもお得です。

  • 3日間でノードが消え去る
  • ローカルにAzure上においておけるファイルのサイズが小さい

など若干の制限はありますが、ちょっと多めのノードを作成してテストしてみたいけどいちいちサーバを用意するのは面倒臭い…。という方にはオススメです。

ちなみにAzure Blob StorageやAmazon S3からデータファイルを取得してMapReduceを実行することもできますので、ファイルサイズの問題はある程度回避することができます。

 

で、このHadoop on Azure(以下、HOA)にはInteractive Consoleという機能があります。

f:id:weathercook:20120605155659p:plain

これはMapReduceをApache HadoopをJavaScript上から実行したり、Hiveをインタラクティブに実行したりできるコンソールを提供してくれます。

今回はこのInteractive Consoleを利用してサンプルのMapReduceを実行してみます。

 

面倒なので実行するJarはサンプルとして付属しているWordCountを使います。WordCountのサンプルページに移動し、事前準備(davinci.txtを置くとか)をしておいてください。

Interactive Consoleに移動します。ここでできることの一覧はhelp()を実行すると大体わかります。

f:id:weathercook:20120605161310p:plain

では、fs.put()を使ってWordCount用のJarファイルを/user/[username]/hadoop-examples.jarにあげておきましょう。

Jarファイルの実行にはrunJar(jar, arguments)関数を使います。処理が始まると見慣れたプログレス表示になり、Map/Reduceの進行状況が表示されます。

f:id:weathercook:20120605161539p:plain

完了するとこんな感じ。リンクをクリックすると詳細なログを見ることができます。

f:id:weathercook:20120605161706p:plain

実行結果を確かめてみましょう。lsでディレクトリを確認すると確かにアウトプットが生成されています。

f:id:weathercook:20120605161947p:plain

やりましたね!