Борьба между Job и JobConf при использовании TableMapReduceUtil и MultipleOutputFormat - PullRequest
0 голосов
/ 15 января 2012

Я пытаюсь прочитать таблицу HBase TableMapReduceUtil и выгрузить данные в HDFS (не спрашивайте меня, почему. Это устарело, но других вариантов нет). Итак, чтобы добиться этого, я хочу манипулировать окончательными именами файлов (испускаемыми редуктором) с ключом редуктора.

Со стороны картографа мне удалось вылить hbase rotryws в HDFS в порядке по умолчанию. Но чтобы переопределить формат выходного файла редуктора (имя в соответствии с ключом), я выяснил, что MultipleOutputFormat класс для редуктора (который отсутствует в 0.20 из-за некоторого сбоя интерфейса, где-то читается), а старый принимает только JobConf , Но если я попытаюсь написать код со старым JobConf , я не смогу использовать HBase 0.90's TableMapReduceUtil , который занимает только Job class

Не имеет много опыта с Hadoop / HBase. Потратил некоторое время на изменение существующих MRJObs. Кажется, я застрял с моим подходом.

Версии Hadoop-Core-0.20.; HBase 0.90.1

Спасибо Панкай

1 Ответ

1 голос
/ 16 января 2012

Я не могу использовать TableMapReduceUtil HBase 0.90, который принимает только класс Job.

Существует org.apache.hadoop.hbase.mapred.TableMapReduceUtil и org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil классов. Первый будет использовать JobConf (старый MR API), а второй - Job (новый MR API). Используйте соответствующий класс TableMapReduceUtil.

...