12

我认为标题已经在解释我的问题。我想改

key (tab space) value

进入

key;value

在所有输出文件中,reducer 都是从映射器的输出生成的。

我无法使用谷歌找到关于此的好的文档。谁能提供一些关于如何实现这一目标的代码?

4

3 回答 3

18

将配置属性设置mapred.textoutputformat.separator";"

于 2012-06-14T12:05:07.510 回答
15

由于缺乏更好的文档,以下是我收集的内容:

    setTextOutputFormatSeparator(final Job job, final String separator){
            final Configuration conf = job.getConfiguration(); //ensure accurate config ref

            conf.set("mapred.textoutputformat.separator", separator); //Prior to Hadoop 2 (YARN)
            conf.set("mapreduce.textoutputformat.separator", separator);  //Hadoop v2+ (YARN)
            conf.set("mapreduce.output.textoutputformat.separator", separator);
            conf.set("mapreduce.output.key.field.separator", separator);
            conf.set("mapred.textoutputformat.separatorText", separator); // ?
    }
于 2013-09-08T17:38:19.283 回答
1

您可以使用“KeyValueLineRecordReader”的“KEY_VALUE_SEPERATOR”属性来指定您选择的分隔符。

于 2012-06-14T12:10:12.193 回答