2011-12-20 8 views

答えて

4

通常、Map/Reduceのペアはデータセットを独立したチャンクに分割し、その結果を組み合わせて有用な分析を行います。Hadoopストリーミングは、マップを作成する/アプリケーションをとSTDOUT(for output)と一緒に使用できるany language(like Ruby/Python/Bash etc.)に減らしてください!

+0

あるネイティブのHadoopではないのではい、私が行っていますそれ。しかし、私の質問はdifference.Like 1つ私はjava mapreduceで私たちはinbuiltマップを使用してクラスを減らすことがわかったが、私はストリーマでPHPでそれをしたとき、私はそれを使用しませんでした。 – CodeBanger

+0

よくあるメリットは、プログラムがHadoopを使用するためにjavaを知る必要がないことと同じです。Hadoop streamingはそこにあります... –

+0

しかし、Java以外の言語を使用すると心配していますが、コアのhadoop機能を使用できません。私はPHPの倹約のクライアントを探したが、リンクが死んでいると私はちょうど今、私はPHPがより多くの時間がかかることが判明しました。マップは、対応するように開始開始時に減少するが、マップ終了時にphpを減らし始める。助けになるでしょう。 – CodeBanger

0

Javaを使用しない場合は、コアのハープ関数が利用できないと言ってもいいでしょう。 ChainMapperやChainReducer、ChainedJobsなどはストリーミングでは利用できません。また、HadoopはJavaで記述されているため、Javaを使用すると高速になります。

また、理論的には、マッパーが完了した後、減速器がもう一つ起動しません。 HTMLで、入力が同時に移動しているときに実行される減速機として表示されるもの。

+0

Thnx again.But今の私はこのフォーラムを離れる必要があります、私は禁止されている..何の理由で知っていない.. – CodeBanger

0

Hadoop Streamingを使用すると、標準入力からのデータの読み取りと標準出力への書き込みをサポートするプログラミングやスクリプト言語で、マップを作成して関数を減らすことができます。この機能により、Hadoop Streamingは非常に柔軟になり、多数のユーザが簡単に使用できます。 R、Python、C++、その他ほとんどの言語で使用できます。 ハープ・ストリーミング・ジョブのデフォルトの入力フォーマットはTextInputFormatで、データを1行読み込みます。たとえば、マッパーの数、リデューサーの数、jvmメモリー、入力フォーマット、出力フォーマットなど、多くのパラメータをカスタマイズできます。一度に。

ハイドープAPI Javaにかなり縛られていますが、設定や開発はJavaコード自体からすべて設定できるため、より簡単です。私の経験から、Javaは少し速いようですが、適切な言語で適切に設定して使用すると、ストリーミングがかなり近づくことがあります。

0

利点ストリーミングの:雇用を削減

  1. のHadoopストリーミングを使用すると、地図などのスクリプトのRubyやPython、豚などのお好みのスクリプト言語での仕事を減らす提出することができますが、複数の地図に変換することができます。あなたはjavaを学ぶ必要はありません。

短所

  1. Hadoop Streamingスクリプトのパフォーマンスは、javaを使用するHadoop APIの実装と比較して低いです。理由は明らかです。スクリプトは複数のMap Reduceジョブに変換され、複数のジョブを完了する必要があるため、ジョブ完了時間は非常に長くなります。個人的に

、私はあなたは、Javaでプログラミングしているならば、あなたはコンパイルして、定期的にジョブを送信するJava

0

で書かれた顧客パーティショナ & コンバイナとHadoopのAPIを使用して、より快適にしています。あなたはPythonや.NETなどの他の言語を使いたいなら、あなたは橋のように、これらの言語やストリーミングジャー行為でプログラムを開発することができ、これらの言語は、Java

Shahzad

関連する問題