5

Hadoop では、大きな入力ファイルが小さなファイルに分割され、map 関数によって異なるノードで処理されることを理解しています。また、s をカスタマイズできることも知りましたInputSplit。私が知りたいのは、 で次のタイプのカスタマイズが可能かどうかですInputSplit

大きな入力ファイルが Hadoop に送られてきます。ファイルのサブセット、つまりファイル内の一連の行をすべての入力分割に合わせたいと考えています。つまり、ファイルがどのように分割されているかに関係なく、大きなファイルのすべてのデータ チャンクにこれらの行のセットが含まれている必要があります。

私の質問をより明確にするために、入力ファイルの一部(たとえばA)をファイルコンテンツの残りの部分と比較する必要がある場合など、関数InputSplitに送られるすべての s には、この部分が必要です比較。これについて私を親切に案内してください。mapA

4

2 に答える 2

0

ここでは、Hadoop MapReduce がどのように機能するかについて簡単に説明します。

カードのデッキを持っていて、新しいデッキを手に入れたときと同じように、それらをスーツごとに並べ替えてから順番に並べ替えたいとしましょう。

1 Mapper/1 Reducer を使用する Hadoop

あなたはデッキを取り、自分で注文します

1 Mapper/2 Reducer を使用する Hadoop (色、2 色、2 Reducer に基づいてマップする)

あなたはデッキを取り、私にすべての黒いカードを渡し、他の誰かにすべての赤いカードを渡します。私は自分のカードを注文してあなたに返します。彼も同じです。あなたは2つをまとめます。

2 Mapper/4 Reducer を使用した Hadoop (スーツに基づいてマップに移動)

あなたと私はデッキを半分に分割します。デッキを各スートの 4 つの山に分けます。一人一人がスーツを取り、注文します。4 つのパイルが返され、最後のステップで希望どおりに並べ替えられます。

そうです、「リデューサー」部分のすべてのデータには、いくつかの共通部分が必要です。これは、マッピングの基となる部分です。マッピングする可能性のあるものは、日ごと、または私の場合は色やスーツごとです。

于 2013-05-02T13:53:21.830 に答える