0

私は Java ベースのアプリケーションを開発しており、Mahout ライブラリに実装されている機械学習アルゴリズムを使用することにしました。私のアプリケーションは、Hadoop なしで単一のマシンで実行されます。

分散型のように、単一ノードの Mahout にもオーバーヘッドがあるかどうかお尋ねしたいと思いますか? 複数のクラスターの Mahout にはオーバーヘッド (初期化、データの転送など) があるよりも、Mahout の実際の本を読みました。しかし、MapReduce パラダイムなしで Mahout アルゴリズムを使用すれば、オーバーヘッドは発生しないはずですよね?

4

1 に答える 1

0

単一のマシンで実行するか、1000 ノードのクラスターで実行するかに違いはありません。Hadoop は、すべての中間データ (MAP のキー値出力) をシリアル化し、ディスク上に永続化します。リデュース フェーズでは、キーと値のペアをメモリに読み込みます。そのため、処理とディスク アクセスのオーバーヘッドが非常に大きくなります。

基本的に、少数のマシン (たとえば 7 台未満のマシン) を使用している場合、hadoop はおそらく適切な選択ではありません。特に高速化の分析には適していません。この場合、大規模な環境にデプロイする前に、小さなクラスターを使用してコードのロジックをチェックすることができます。

于 2013-09-12T11:13:54.410 に答える