我需要根據reducer鍵控制由MultipleOutputFormat管理的不同不同文件的子路徑。控制MultipleOutputFormat文件的子路徑
我基本上想根據給予reducer的關鍵字設置文件的子路徑。
我可以通過覆蓋MultipleOutputFormatbut的generateFileNameForKeyValue方法來更改文件名,還可以如何更改這些文件的子路徑?
我指的只是重寫generateFileNameForKeyValue,我得到
mySetJobConfigOutputPath/fileNameBasedKey1.dat
/fileNameBasedKey2.dat
/fileNameBasedKey3.dat
...
,但我想讓它來組織文件,如下面
mySetJobConfigOutputPath/path0ConfiguredInsideReducerBasedOnKey/fileNameBasedKey1.dat
/path1ConfiguredInsideReducerBasedOnKey/fileNameBasedKey2.dat
/fileNameBasedKey3.dat
/path2ConfiguredInsideReducerBasedOnKey/fileNameBasedKey8.dat
所見,子路徑和文件名字都是通過減速器內部的鑰匙計算出來的。
我知道如何配置文件名,但想知道我是否可以在mySetJobConfigOutputPath文件夾下配置每個文件的子路徑?
試試這個 HTTP:/ /stackoverflow.com/questions/6272307/how-do-i-use-the-multipletextoutputformat-using-the-new-hadoop-api#26756067 –