8

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

最初に Hadoop をインストールし、次に mahout を Cassandra と連携させるための明確なインストール手順はどこにありますか?

4

3 に答える 3

7

(これは、あなたが user@mahout.apache.org で尋ねた質問と同じだと思いますか? 私の回答をコピーしています。)

Hadoop はまったく必要ないかもしれません。そうでない場合は、簡単にするために使用しないことをお勧めします。ある点を超えてスケ​​ールするのは「必要悪」です。

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

次に、2 つのニーズに簡単に答えます。

  1. これは推奨の問題でもありません。UserSimilarity の実装を選択し、それを使用してユーザーを他のすべてのユーザーと比較し、類似度が最も高いユーザーを選択するだけです。(CachingUserSimilarity でラッピングすると非常に役立ちます。)

  2. これは単なるレコメンダーの問題です。UserSimilarity と DataModel で GenericUserBasedRecommender を使用すれば完了です。

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

後で Hadoop を使用する場合は、その指示に従って Hadoop をセットアップする必要があります。Mahout の「セットアップ」はありません。レコメンダーについては、Hadoop クラスターで必要なジョブを呼び出す RecommenderJob クラスの 1 つを確認します。「hadoop」コマンドを使用して実行します。ここでも、Hadoop を理解する必要があります。

Mahout in Actionでは、ほとんどの Mahout Hadoop ジョブについて詳細に説明しています。

于 2011-01-13T11:01:55.370 に答える
3

実際、『Mahout in Action』という本は、イライラするドキュメントの不足から私を救ってくれました。

私はhttps://issues.apache.org/jira/browse/MAHOUT-180をフォローしていました...これは、エラーのみを与える「hadoop -jar」構文を示唆しています。本には代わりに「jar」があり、その修正により、私のテストジョブは問題なく実行されています。

これが私がしたことです:

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

  2. ラップトップで新しく構築した Mahout から mahout-examples-0.5-SNAPSHOT-job.jar を Hadoop クラスターのコントロール ボックスにアップロードしました。そこには他の象使いのものはありません。

  3. これを実行しました:(hadoopが構成されていると仮定します。これは dfs -ls /user/danbri で確認します)

hadoop jar ./mahout-examples-0.5-SNAPSHOT-job.jar \ org.apache.mahout.math.hadoop.decomposer.DistributedLanczosSolver \ --input svdoutput.mht --output outpath --numRows 0 --numCols 4 --ランク50

...これが正しいかどうかは別の問題ですが、何かをしているようです!

于 2011-02-24T16:56:20.067 に答える
-1

次のチュートリアルに従って学習できます。理解しやすく、Hadoop の基本について明確に述べられています。

http://developer.yahoo.com/hadoop/tutorial/

于 2012-01-05T06:35:59.030 に答える