您的位置:首页 > 其它

mapreduce中一些坑

2016-01-04 21:08 281 查看
今天写了一个mapreduce程序,功能是根据query的pv次数,对pv进行排序。

但是写了三个小时,却都没有搞定。最后在同事Wuzhen的搞定下,才输出了正确结果。

总结一下原因。

1. 需要对输入进行转码。转码语句为:

String line = new String(value.getBytes(), 0, value.getLength(), "GBK");

2. 输出编码,需要指定。指定语句为:

job.setOutputFormatClass(GbkOutputFormat.class);

3. 注意OutputPath为目录。

当时我把输入路径设置如下,但是跑完代码,却发现文件大小总是为0,找了很久原因,才发现在query_sort.txt下面还有一个为part-00000的文件!!!!!!!!!

/user/webrank/luliujie/segmentation/query_sort.txt

4. 上面三个问题解决后。我发现输出只有query,没有pv次数。

这个时候,我发现发现原来,我在reduce的输出key为LongWritable,当把它通过下面语句,转为Text时,输出就正常了。

new Text(key.toString())。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: