2011-01-12 13 views
8

私はmahoutとhadoopを共同フィルタリングにどのように使用するのか理解しようとする初心者です。私は単一ノードのカサンドラセットアップを持っています。mahoutとhadoopの使用

最初にhadoopのインストール手順を確認してから、mahoutを使ってcassandraを使用するにはどうすればよいですか?

答えて

7

(私はこれがあなただけ[email protected]に尋ねた?私の答えをコピーする同じ質問だと思います。)

、あなたは全くのHadoopを必要としないかもしれない、とあなたがいない場合私はそれを簡単にするために使用しないことをお勧めします。特定のポイントを超えてスケ​​ールすることは、「必要な悪」です。

あなたはCassandraにデータを置くことができますが、それをメモリに読み込みたいと思うでしょう。ファイルとしてダンプできる場合は、FileDataModelを使用できます。あるいは、FileDataModelのコードをエミュレートして、Cassandraに基づいてコードを作成することもできます。

はその後、あなたの2つのニーズが簡単に答えています

  1. はこれも推奨 問題ではありません。 UserSimilarityの実装 を選択し、それを と他のユーザーと比較すると、 は最も高い数字の のものを選びます。 ( CachingUserSimilarityでラップすると、 大いに役立つでしょう。)

  2. これはちょうど、推薦 問題です。 GenericUserBasedRecommenderを とし、UserSimilarityとDataModel を使用すると完了です。

これはもちろん、これよりもはるかに複雑になる可能性がありますが、これは良い出発点です。

後でHadoopを使用する場合は、その指示に従ってHadoopを設定する必要があります。 Mahoutの「設定」はありません。推奨事項については、Hadoopクラスタで必要なジョブを呼び出す推奨クラスのクラスの1つを参照します。あなたは "hadoop"コマンドでそれを実行します - ここでもHadoopを理解する必要があります。

書籍Mahout in ActionはMahout Hadoopジョブの大部分を詳細に書き出します。

3

本のMahout in Actionは実際にはドキュメントの欲求不満から私を救った。

私はhttps://issues.apache.org/jira/browse/MAHOUT-180に従っていましたが、私にエラーを与えた 'hadoop-jar'構文を示唆しています。この本には代わりに「瓶」があり、その修正で私のテストジョブはうまく動作しています。ここで

は、私がやったことだ:

  1. は、象使いのファイル形式に私の行列のCSV表現を変換するhttp://bickson.blogspot.com/2011/02/mahout-svd-matrix-factorization.html?showComment=1298565709376#c3501116664672385942でユーティリティを使用していました。 Hadoopファイルシステムにコピーしました。

  2. 自分のラップトップに新しく構築されたMahoutからhadoopクラスタのコントロールボックスにアップロードされたmahout-examples-0.5-SNAPSHOT-job.jarをアップロードしました。そこには他のマウハウトのものはありません。;

のHadoopジャー./mahout-examples-0.5-SNAPSHOT-job.jar \ (Iは、DFSの-ls /ユーザ/ danbriに確認たHadoopのが設定されていると仮定):

  • この蘭org.apache.mahout.math.hadoop.decomposer.DistributedLanczosSolver \ --input svdoutput.mht --output OUTPATH --numRows 0 --numCols私はこの権利を得たかどうか、今4 --rank 50

    ...全く別の問題ですが、何かをしているようです!

  • -1

    あなたは以下のチュートリアルに従うことができます。理解しやすく、Hadoopの基本について明確に述べている:

    関連する問題