python基于Hadoop Streaming实现简单的WordCount
来源:互联网 发布:亚虎网络娱乐网页版 编辑:程序博客网 时间:2024/05/24 04:43
1. Eclipse下配置python插件PyDev
参考:http://blog.chinaunix.net/uid-11121450-id-1476897.html
2. Hadoop Streaming编程
Hadoop Streaming是利用“标准输入”和“标准输出”与我们编写的Map和Reduce进行数据的交换。
那么,任何能够使用“标准输入”和“标准输出”的编程语言都应该可以用来编写MapReduce程序。
那么,任何能够使用“标准输入”和“标准输出”的编程语言都应该可以用来编写MapReduce程序。
3. Python实现简单的Word Count程序
需要注意python中对分隔符的要求比较严格,尽量不要混用tab和空格,很容易导致编译失败
mapper.py
#!/usr/bin/pythonimport sys for line in sys.stdin: #去除字符串两边的空格 line = line.strip() #按照空格去划分单词 words = line.split() for word in words: print '%s %s' % (word, 1)
reducer.py
#!/usr/bin/python from operator import itemgetterimport sys word2count = {} for line in sys.stdin: line = line.strip() word, count = line.split(' ', 1) try: count = int(count) word2count[word] = word2count.get(word, 0) + count except ValueError: pass sorted_word2count = sorted(word2count.items(), key=itemgetter(0)) for word, count in sorted_word2count: print '%s %s'% (word, count)
4. 在hadoop上运行python脚本
#在Hadoop Home路径下运行以下命令
bin/hadoop jar contrib/streaming/hadoop-streaming-1.0.0.jar -mapper /usr/local/mapper.py -reducer /usr/local/reducer.py -input /test.txt -output /result
bin/hadoop jar contrib/streaming/hadoop-streaming-1.0.0.jar -mapper /usr/local/mapper.py -reducer /usr/local/reducer.py -input /test.txt -output /result
0 0
- python基于Hadoop Streaming实现简单的WordCount
- Hadoop WordCount(Streaming,Python,Java三合一)
- hadoop:基于Streaming实现的编译
- Hadoop的WordCount实现
- java8实现spark streaming的wordcount
- 简单验证hadoop的wordcount
- 简单验证hadoop的wordcount
- 非负矩阵分解算法基于hadoop streaming的实现
- c++&&python实现Hadoop Streaming的partitioner和模块化
- hadoop:基于Streaming实现作业提交
- Python+Hadoop Streaming实现MapReduce任务
- Streaming(C++)实现WordCount
- MapReduce实现简单的Wordcount
- spark streaming实现状态可恢复的wordcount计算程序
- 用Hadoop Streaming来写wordcount
- hadoop简单实例-WordCount
- 基于hadoop的简单网盘实现
- Hadoop中WordCount例子的实现
- CentOS下创建有上限大小的文件夹
- mysql常用的日期函数汇总
- 机器翻译
- java ant知识的一点积累
- 从Internet说起
- python基于Hadoop Streaming实现简单的WordCount
- iOS 循环轮播框架,使用3个UIImageView实现
- LeetCode 413. Arithmetic Slices 题解(C++)
- Mysql主从模式的原理
- Linux中记录在线时长的uptime命令
- Mysql查看sql的执行时间
- 坐标的离散化
- Java利用Calendar获取一段时间内的日期
- mysql中数据库和表的导出