KeyValueTextInputFormat 分割key value For hadoop 1.0

对于要分割这样的文本:

1,2

1,3

2,4

.......

需要使用hadoop的KeyValueTextInputFormat,于是乎就要配置:

Configuration conf = new Configuration();
Job job = new Job(conf,"MyJob");

conf.set("mapreduce.input.keyvaluelinerecordreader.key.value.separator", ",");
job.setInputFormatClass(KeyValueTextInputFormat.class);


重点是红色部分代码,配置这两个地方就可以,这是hadoop1.0的配置方法

 但是很多书上写的都是

jobConf.set("key.value.separator.in.input.line", ",");
job.setOutputFormatClass(TextOutputFormat.class);

很多书上都是这么写的,因为这是旧的api,网上也有很多同学问  为什么KeyValueTextInputFormat 无法分割,

对于hadoop 1.0  要用mapreduce.input.keyvaluelinerecordreader.key.value.separator

hadoop 0.2 要用 key.value.separator.in.input.line


不一样的!


吐槽下:话说我也卡在这里快半个小时了,多亏stackoverflow,    最近学校网速不给力,上stackoverflow这种网站真慢,还怎么学习!

你可能感兴趣的:(KeyValueTextInputFormat 分割key value For hadoop 1.0)