2016-10-09 5 views
2

質問の見出しは、私の質問が何であるかを説明しています。 私は、複数の文章を読ん私はコンバイナを使用することにより、このラインを越えハープープでは、マッパーレデューサーの複数の入力にまたがって状態を保存する機能が何を意味していますか?

来た答えと への能力を活用することにより、 に、それはしばしば可能で、複数の入力間の状態を維持されている実質的に減少 がマッパーからレジューサーにシャッフルする必要のあるキーと値のペアの数とサイズの両方

私はこの概念を理解できません。模範的な答えと説明が本当に役に立ちます。どのようにそのような概念を理解する直感を開発するのですか?

答えて

0

「レデューサー」のコンセプトに満足しているとすれば、コンバイナーのコンセプトは簡単になります。コンバイナは、マップフェーズでミニレデューサとして見ることができます。それはどういう意味ですか?例を見てみましょう:古典的な単語カウントの問題を行っているとします。すべての単語について、マッパーがキーと値のペアを生成していることがわかります。次に、レデューサーは入力としてこのキーと値のペアを取り、それらをサマライズします。マッパーは以下のようにいくつかのキーと値のペアを収集することを Supose:あなたはコンバイナを使用していない場合

<key1,1>, 
<key2,1>, 
<key1,1>, 
<key3,1>, 
<key1,1> 

、この4キーと値のペアは、減速機に送信されます。しかし、我々は実行可能性結合器を使用して、マッパーで前が-減らすので、マッパーの出力は次のようになります。この単純な例では

<key1,3>, 
<key2,1>, 
<key3,1> 

をコンバイナを使用することにより、あなたはキーと値のペアの合計数を削減しましたシャッフルフェーズでは、ネットワークトラフィックが少なくなり、パフォーマンスが向上します。

+0

はい。私はあなたが言っていることを完全に理解していますが、私の質問は国家に関するものです。私はそのステートメントを理解していません。それは何ですか?どこにここで州を維持したのですか? – neerajdorle

+0

私たちが行った集計が国家を維持していると言いたいのですか? – neerajdorle

+1

これはmap-reduceフレームワークが内部的にどのように動作するかに関係するビットです。フレームワークはMapperオブジェクトをインスタンス化しますが、これは定義したマップメソッドを持ちますが、同じMapperオブジェクトはマップメソッドを入力分割内の複数のキーと値のペアに適用するため、複数のキーと値のペアに渡って状態を保持することができますこの状態の簡単な例は、遭遇するすべての鍵に対するカウンタである可能性があります。それは、「設定」時間に「状態」データをロードし、それを複数の入力にわたって保存(または更新)することさえできます。 –

関連する問題