0

Hadoop と Map reduce は初めてで、古いバージョンの Hadoop 0.19 を使用しています。ファイル/エクセルを読み取り、列の内容を場所、場所、名前などのリストとして提供するプログラムがあります。

入力ファイルを 2 つの部分に分割するマッパーがあるとします。これらのマッパーはそれぞれ、上記のエンティティのリストを提供してくれます。

私の質問は:

  1. データを追跡し、場所と名前のリストを各マッパーからファイルごとに個別に保存するにはどうすればよいですか。リデューサーはこれらのファイルをどのように認識し、場所の統合リストと各ファイルの名前の別のリストを作成しますか。

Doc-1 と言う:

list of places from mapper1---NY,1 US,2
list of names from mapper1---James 3 ,Ron 8
list of places from mapper-2 --NY 6 UK 5
list of names from mapper 2--Kate 9

このようなもの。

各マッパーからの出力を、エンティティの種類ごとに名前または場所として保存するにはどうすればよいですか。

レデューサーはどのように名前のみを認識して削減し、最終的なリストまたは場所のみを作成して、そのファイルに関連する最終的なリストを作成します。

Plsはこれを手伝ってくれます.Javaでそれを行うのに役立つ方法を教えてください.

4

1 に答える 1

0

これがマップのみのジョブである場合、マッパーと同じ数の出力ファイルが存在します。これが MapReduce ジョブの場合、Reducer の数を指定できます。特定の Mapper から特定の Reducer にデータを送信する Partitioner を提供します。Mapper の数が不明な場合は、Reducer の数を総数よりもわずかに多くして、Partitioner から最初の n 個の Reducer のみを使用します。

于 2013-10-28T09:30:39.987 に答える