使用Python实现Hadoop MapReduce程序遇到的问题解决办法
2015-10-13 17:21
881 查看
1.jar包名不一致
利用python和c等语言在hadoop上写MapReduce程序,需要用到streaming组件,我在网上找了相关的文档,基本上都是同一篇写wordcount的。我发现这篇文章是08年写的,环境和我现在用的并不一样。所用的命令
中的jar包我现在的环境中并没有叫如此名字的,一开始以为是环境没搭好,后来发现是名字不一样。
我使用的hadoop的版本是hadoop-2.5.0-cdh5.3.2
对应的jar包名是
hadoop-2.5.0-cdh5.3.2/share/hadoop/tools/lib/hadoop-streaming-2.5.0-cdh5.3.2.jar
2.本地MapReduce文件找不到
找到了对应的包,再运行,还是报错,原因是找不到本地文件。
解决办法是在前面加上-file mapper.py就可以找到对应的文件了
最后,运行的语句是
hadoop jar /home/****/platform/hadoop-2.5.0-cdh5.3.2/share/hadoop/tools/lib/hadoop-streaming-2.5.0-cdh5.3.2.jar -input temp/test/count/* -output temp/test/count_res -file mapper_count.py -mapper ./mapper_count.py -file reducer_count.py -reducer ./reducer_count.py
辗转N久,终于搞定,今天又写了个计算平均数的程序,又差点忘记,所以特地来记录一下^_^
利用python和c等语言在hadoop上写MapReduce程序,需要用到streaming组件,我在网上找了相关的文档,基本上都是同一篇写wordcount的。我发现这篇文章是08年写的,环境和我现在用的并不一样。所用的命令
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
中的jar包我现在的环境中并没有叫如此名字的,一开始以为是环境没搭好,后来发现是名字不一样。
我使用的hadoop的版本是hadoop-2.5.0-cdh5.3.2
对应的jar包名是
hadoop-2.5.0-cdh5.3.2/share/hadoop/tools/lib/hadoop-streaming-2.5.0-cdh5.3.2.jar
2.本地MapReduce文件找不到
找到了对应的包,再运行,还是报错,原因是找不到本地文件。
解决办法是在前面加上-file mapper.py就可以找到对应的文件了
最后,运行的语句是
hadoop jar /home/****/platform/hadoop-2.5.0-cdh5.3.2/share/hadoop/tools/lib/hadoop-streaming-2.5.0-cdh5.3.2.jar -input temp/test/count/* -output temp/test/count_res -file mapper_count.py -mapper ./mapper_count.py -file reducer_count.py -reducer ./reducer_count.py
辗转N久,终于搞定,今天又写了个计算平均数的程序,又差点忘记,所以特地来记录一下^_^
相关文章推荐
- 个人Python学习笔录
- Python的条件语句与运算符优先级详解
- LeetCode Single Number III (Java和Python代码)
- python学习006--字符串操作
- python 日期加减
- python3中django无法展示数据库表内容的解决方法
- python多线程编程(二)--threading模块
- python多线程编程(一)--thread模块
- opencv无法读取视频解决方法&&抽取视频帧存储为图像(python)
- python学习005--数学函数
- 老李分享:pep8 python代码规范
- 【python】:python学习笔记
- python爬虫抽取武侠小说
- 老李分享:使用 Python 的 Socket 模块开发 UDP 扫描工具
- python学习004--Python运算符优先级
- Python输出中文到文件时的字符编码问题
- Python时间戳和日期
- python学习03--格式化输出
- Python中的并发编程
- Python 使用thrift连接hbase || 远程连接hbase