レデューサー (Text キーと Iterable MapWritable 値を持つ) は、キーのグループ化を維持するために、すべての Map をシーケンス ファイルに出力するにはどうすればよいでしょうか? たとえば、マッパーが次のようなレデューサーにレコードを送信するとします。
<"dog", {<"name", "Fido">, <"pure bred?", "false">, <"type", "mutt">}>
<"cat", {<"name", "Felix">, <"color", "black">, <"origin", "film">, <"date", "1919">}>
<"dog", {<"name", "Lassie">, <"type", "collie">, <"origin", " short story">}>
シーケンスファイルを次のように記述したいと思います。
key = "dog"
value = {
{<"name", "Fido">, <"pure bred?", "false">, <"type", "mutt">},
{<"name", "Lassie">, <"type", "collie">, <"origin", "short story">}
}
key = "cat"
value = {
{<"name", "Felix">, <"color", "black">, <"origin", "film">, <"date", "1919">}
}
Writable を実装するカスタム値出力クラスを作成する必要があると推測していますが、私が知る限り、コレクションは実際にはシーケンス ファイルで機能しないため、これを行う方法がわかりません。次の map/reduce ステージで、各キーに関連付けられたすべてのマップを 1 つの単位として読み取るように、これを行いたいと思います。
ティア、