Partitioner と MultipleOutputs についてご意見をお聞かせください。
次のようなキーを含むファイルがあるとします
0:aaa
1:bbb
0:ccc
0:ddd
...
1:zzz
2 つのファイルが必要です。1 つは で始まるキーを含むファイル0:
で、もう1 つは で始まるキーを含むファイルです1:
。どのアプローチを使用する必要がありますか:
1) キーを解析し、getPartition() に対して 0 または 1 を返すカスタム パーティショナーを使用します。
2)キーを解析し、MultipleOutputs.write のパラメーター に対してorを指定することにより、reduce フェーズでMultipleOutputs.writeを使用します。zero
one
namedOutput
どちらの方がよいですか?私にとっては、レデューサーは単一のファイルを処理するため、1) の方が優れています。