我需要根据 reducer 键来控制 MultipleOutputFormat 管理的不同文件的子路径。
我基本上想根据给reducer的键设置文件的子路径。
我可以通过覆盖 MultipleOutputFormat 的 generateFileNameForKeyValue 方法来更改文件名,但是如何更改这些文件的子路径?
我的意思是只覆盖generateFileNameForKeyValue,我得到
mySetJobConfigOutputPath/fileNameBasedKey1.dat
/fileNameBasedKey2.dat
/fileNameBasedKey3.dat
...
但我想让它像下面这样组织文件
mySetJobConfigOutputPath/path0ConfiguredInsideReducerBasedOnKey/fileNameBasedKey1.dat
/path1ConfiguredInsideReducerBasedOnKey/fileNameBasedKey2.dat
/fileNameBasedKey3.dat
/path2ConfiguredInsideReducerBasedOnKey/fileNameBasedKey8.dat
正如所见,子路径和文件名都是由减速器内部的键计算出来的。
我知道如何配置文件名,但想知道是否可以在 mySetJobConfigOutputPath 文件夹下配置每个文件的子路径?