0

2 つのデータセットがあるとします。

hello world
bye world

hello earth
new earth

そして、マッパークラスまたはリデューサークラスを指定しないマップリデュースタスクを実行したいので、デフォルトのマッパーとリデューサーが呼び出されます-どちらも恒等関数です。ジョブを実行すると、出力は::

0       hello world
0       hello earth
12      new earth
12      bye world

キーが 0 と 12 のようになっている理由がわかりません。main()::でこれらの行をコメントアウトしたので、デフォルトのマッパーとリデューサーを使用しました

//    job.setMapperClass(Map.class);
//    job.setCombinerClass(Reduce.class);
//    job.setReducerClass(Reduce.class);

それで、私の質問は、ここにある出力キーは何ですか? なぜ 0, 0 , 12, 12 のように見えるのですか?

4

1 に答える 1

2

0、0、12、および 12 は、入力データのファイル オフセットです。テキスト入力の場合、マッパーへの K はファイル オフセットであり、値は入力行です。詳細については、これを確認してください。

于 2013-10-26T08:56:00.853 に答える