HDInsightでMahoutを利用する

Mahoutとは

Hadoop上で動作する機械学習のライブラリです。機械学習はBigDataの今後の成長を考える上で非常に重要なテクノロジになると思っています。最近話題のDeep Learningなんかも興味深いですよね。
今回はHDInsightでMahoutをインストールして実際にサンプルを動かしてみたいと思います。


Mahoutのインストール

MahoutをインストールするためにまずはHDInsightのリモートデスクトップを有効にします。

リモートデスクトップが有効になった後は、リモートデスクトップで接続して、Mahoutをダウンロードします。

ダウンロードしたZIPをc:\app\distに展開します。

以上でMahoutのインストールは終わりです。


Mahoutの実行

Mahoutを実行するためのシナリオは以下の記事にあるものを利用します。ただしMahoutのバージョンは上記でインストールした0.9を利用します。

Apache Mahout を使用した単純なリコメンデーション エンジン

まずはデータを機械学習用のデータをダウンロードしますが、先ほどの記事にリンクがあります。
ダウンロードしたZIPファイルを展開し実行に必要な2つのファイルをHDInsight Studioを利用してHDFS上に配置します。

Mahoutの実行はリモートデスクトップ上のHadoop CommandLineを起動し、カレントディレクトリをc:\apps\dist\mahout-distribution-0.9に移動し以下のコマンドを実行します。

hadoop jar mahout-core-0.9-job.jar org.apache.mahout.cf.taste.hadoop.item.RecommenderJob 
-s SIMILARITY_COOCCURRENCE --input=/example/mahout/mInput.txt --output=/example/mahout/output --usersFile=/example/mahout/users.txt

以上でMahoutの実行ができます。


まとめ

HDInsightでのMahoutのインストールと実行を今回は行いました。
機械学習は数学の知識が必要など理論面などは正直敷居がありますが、Mahoutを使うと難しいことは一旦置いておいて利用することはできますね。