码迷,mamicode.com
首页 > 其他好文 > 详细

Hadoop on Mac with IntelliJ IDEA - 6 解决KeyValueTextInputFormat读取时只有key值问题

时间:2014-10-01 15:15:01      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   os   使用   ar   for   

本文讲述使用KeyValueTextInputFormat在Hadoop 0.x正常工作、Hadoop 1.2.1失效的解决过程。

环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.4, Hadoop 1.2.1

Hadoop放在虚拟机中,宿主机通过SSH连接,IDE和数据文件在宿主机。IDEA自身运行于JDK 1.8,IDEA工程及Hadoop使用JDK 1.6。

还在折腾Hadoop In Action第4章的代码,书的写法,如下所示。

job.setInputFormat(KeyValueTextInputFormat.class);
job.set("key.value.separator.in.input.line", ",");

在hadoop 1.2.1上运行正常。但是,我强迫症又发作了,想把代码改成符合hadoop 1.2.1的范式,如下所示。

configuration.set("key.value.separator.in.input.line", ",");
Job job = new Job(configuration, "Patent Job");
job.setInputFormatClass(KeyValueTextInputFormat.class);

运行时,从日志上看,数据没按预期切割,而是合并了,如下图所示。

bubuko.com,布布扣

数据源如下图所示

bubuko.com,布布扣

按如下方式修改[1],则结果正常。

// 原语句
configuration.set("key.value.separator.in.input.line", ",");
// 改成
configuration.set("mapreduce.input.keyvaluelinerecordreader.key.value.separator",",");

bubuko.com,布布扣

参考文献

[1]http://stackoverflow.com/questions/12540145/hadoop-use-keyvaluetextinputformat

Hadoop on Mac with IntelliJ IDEA - 6 解决KeyValueTextInputFormat读取时只有key值问题

标签:style   blog   http   color   io   os   使用   ar   for   

原文地址:http://www.cnblogs.com/michaellfx/p/4003186.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!