Я пытаюсь использовать MultipleOutputs в Reducer, чтобы записывать в несколько файлов, используя разделитель.Для этого я пытаюсь сконструировать его объект, используя Reducer.setup () следующим образом:
public static class MOReduce extends Reducer<Text, Integer, Text, Integer> {
private MultipleOutputs mos;
public void setup( Reducer.Context context ) {
mos = new MultipleOutputs( context.getConfiguration() );
}
Но я столкнулся с проблемой из-за следующего:
- согласно документация , функция установки принимает Reducer.Context в качестве аргумента
- , в то время как согласно этой документации , конструктору MultipleOutputs требуется JobConf.Таким образом, в принципе у меня нет способа извлечь JobConf из Reducer.Context
- Я уже пытался использовать любую функцию, такую как Reducer.Context.getConfXXX, которая возвращает JobConf, но есть только одна функция getConfiguration (), которая возвращает JobContext
Итак, не могли бы вы подсказать, как я могу решить эту проблему и создать экземпляр объекта MultipleOutputs.