2011-10-19 2 views
13

Apache mahoutをHadoopに依存せずに使用できますか?hadoop依存関係のないApache mahoutを使用することは可能ですか?

マハウトのアルゴリズムを私のJavaプロジェクト内のmahoutライブラリだけを含む単一のコンピュータで使用したいと思いますが、私はハングアウトを使用したくありません。なぜなら、とにかく1つのノードで実行されるからです。

これは可能ですか?

答えて

11

はい。 MahoutのすべてがHadoopに依存するわけではありませんが、多くはあります。もちろん、Hadoopに依存する部分を使用する場合は、Hadoopが必要です。しかし、たとえば、Hadoopを使用しない実質的な推奨エンジンコードベースがあります。

ローカルのHadoopクラスタ/ワーカーをJavaプログラムに埋め込むことができます。

+0

Mahoutの0.10で、これはただもう可能ていないようです。私はKMeansまたはFuzzyKMeansアルゴリズムを使用しようとしており、それらはHadoopに完全に縛られているようです。私がしたいのは、2D(緯度/経度の実際の)データポイントをクラスタリングし、hadoopファイルシステムに依存することが、私が望む一度だけの操作では非常に効率が悪いようです。 – crowmagnumb

11

間違いなく、はい。 Mahout Recommender First-Timer FAQでは、Hadoopベースの実装を開始することをお勧めします(あなたが1億人を超えるユーザーの好みを比較的早く拡大することを知っている場合を除きます)。

Recommender interfaceの実装は、純粋なJava形式で比較的簡単に使用できます。または、あなたが選んだサーブレットに1つ入れます。

技術的には、Mahout は、がHadoopに依存しています。しかし、Hadoop JARを使用しないで推薦する人は簡単に使うことができます。これはMahout実践の最初の数章で説明されています。sample source codeをダウンロードし、それがどのように完了したかを見ることができます。ファイルRecommenderIntro.javaを見てください。

あなたはMavenを使っている場合は、手動でのHadoopを除外する必要があるだろう - 依存関係は次のようになります。

<dependency> 
     <groupId>org.apache.mahout</groupId> 
     <artifactId>mahout-core</artifactId> 
     <exclusions> 
      <exclusion> 
       <groupId>org.apache.hadoop</groupId> 
       <artifactId>hadoop-core</artifactId> 
      </exclusion> 
     </exclusions> 
</dependency> 
+1

答えに記載されているリンクは、読むことができる記事には向いていません。 [Mahout Recommender First-Timer FAQ](https://cwiki.apache.org/MAHOUT/recommender-first-timer-faq.html)どうぞご覧ください。 –

関連する問題