您的位置:首页 > 编程语言 > Python开发

hadoop中使用python写mapreduce遇到的问题

2014-08-30 02:15 405 查看
用python测试下mapreduce,于是去百度了一个博客,直接按照步骤来,按其一步一步的来,但是结果一直错误。于是google找到一篇更加详细的,才发现刚才看的博客是copy的这个英文版的。 英文版的很全面,而且指令与中文版的不太一样。我按照英文版提供的指令,顺利的完成了python写mapreduce的计数。但想了想,耽误了我好长时间。以后尽量用google吧。

使用python写mapreduce的感觉是,省事,舒服,不需要继承什么类,直接标准输入与输出,要什么逻辑写什么逻辑,直接与业务挂钩。不过这只是刚开始用的体验,以后会记录更多的使用python编写mapreduce的感受。

记录python执行的指令

中文版 测试有误

hadoop@ubuntu:/usr/local/hadoop$ bin/hadoop jar contrib/streaming/hadoop-0.19.1-streaming.jar
-mapper /home/hadoop/mapper.py -reducer /home/hadoop/reducer.py -input gutenberg/*
-output gutenberg-output


英文原版提供的

1
2
3
4

hduser@ubuntu:/usr/local/hadoop$ bin/hadoop jar contrib/streaming/hadoop-*streaming*.jar \
-file /home/hduser/mapper.py    -mapper /home/hduser/mapper.py \
-file /home/hduser/reducer.py   -reducer /home/hduser/reducer.py \
-input /user/hduser/gutenberg/* -output /user/hduser/gutenberg-output

是不是很有条理,而且 如果想指定reducer的个数,可以这样子:

1

hduser@ubuntu:/usr/local/hadoop$ bin/hadoop jar contrib/streaming/hadoop-*streaming*.jar -D mapred.reduce.tasks=16 ...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: