4

Hadoop プログラムを Streamer jar で実行する場合と、プログラムの jar ファイルで実行する場合の違いは何ですか?

4

5 に答える 5

5

通常、Map/Reduce のペアは Java で記述されています。データセットを独立したチャンクに分割する map と、結果を組み合わせて有用な分析を実行する reduce です。Hadoop ストリーミングは、Map/Reduce を記述できるユーティリティです。および! any language(like Ruby/Python/Bash etc.)_ STDIN(for input)_STDOUT(for output)

于 2011-12-20T05:44:21.990 に答える
0

Hadoop ストリーミングを使用すると、標準入力からのデータの読み取りと標準出力への書き込みをサポートする任意のプログラミング言語またはスクリプト言語で map 関数と reduce 関数を作成できます。この機能により、Hadoop ストリーミングは非常に柔軟になり、多数のユーザーが簡単に使用できます。R、Python、C++、またはその他のほぼすべての言語。マッパーの数、リデューサーの数、jvm メモリ、入力形式、出力形式など、カスタマイズできるパラメーターは多数あります。Hadoop ストリーミング ジョブのデフォルトの入力形式は TextInputFormat で、データを 1 行ずつ読み取ります。時間。

Hadoop API ほとんど Java に縛られますが、Java コード自体からすべてを構成できるため、構成と開発はより簡単です。私の経験からすると、Java の方が若干速いように見えますが、適切に構成して適切な言語で使用すると、ストリーミングはかなり速くなる可能性があります。

于 2015-07-03T04:21:30.757 に答える
0

Java を使用しない場合、中核となる Hadoop 機能を使用できないと言うのは正しいことです。ChainMapper や ChainReducer、ChainedJobs などは、ストリーミングでは利用できません。また、Hadoop は Java で記述されているため、Java を使用すると高速になります。

また、別のこととして、理論的には、マッパーが完了した後にレデューサーが開始されることはありません。HTML では、入力が移動すると同時にレデューサーが実行されていることがわかります。

于 2011-12-22T17:27:06.963 に答える