python实现单词计数的mapreduce
来源:互联网 发布:梅雨知时节的作品 编辑:程序博客网 时间:2024/05/16 06:30
map函数
import sysfor line in sys.stdin: line = line.strip() words = line.split() for word in words : print "%s\t%s" % (word , 1)
reduce函数
import syscurrent_word=Nonecurrent_count=0for line in sys.stdin: line=line.strip() word=line.split("\t",1) if current_word==word[0]:#当前单词如果为本次传过来的单词,则计数加一 current_count=current_count+1 if current_word==None:#第一次判断当前单词是否为空,若为空,赋值,计数为一 current_word=word[0] current_count=current_count+1 elif current_word!=word[0]:#当前单词如果不为本次传过来的,则先把当前的输出,再赋值,计数 print "%s\t%s" %(current_word,current_count) current_count=1 current_word=word[0]print "%s\t%s" %(current_word,current_count)#打印循环结束后,最后一次的单词
测试:
echo "hello word hello Hadoop map reduce" | ./mapper.py |sort -k1,1| ./reducer.py
Python只能对排好序的单词进行计数,在Hadoop中会实现对单词的排序
在Hadoop上运行:
bin/hadoop jar contrib/streaming/hadoop-*streaming*.jar \
-file test/code/mapper.py -mapper test/code/mapper.py \
-file test/code/reducer.py -reducer test/code/reducer.py \
-input /user/rte/hdfs_in/* -output /user/rte/hdfs_out
0 0
- python实现单词计数的mapreduce
- 单词计数的mapreduce原理
- MapReduce之WordCount单词计数
- Hadoop之MapReduce改进的计数单词(八)
- python MapReduce单词统计
- python实现指定目录下批量文件的单词计数:串行版本
- python实现指定目录下批量文件的单词计数:并发版本
- MapReduce实现计数
- MapReduce入门级之WordCount单词计数
- Hadoop之MapReduce单词计数经典实例
- Hadoop MapReduce Streaming小实验:单词计数
- MapReduce之WordCount单词计数(上)
- MapReduce之WordCount单词计数(下)
- storm trident实现单词计数
- Spark实现WordCount单词计数
- 单词计数程序在hadoop上的实现
- 使用Hadoop中的map-reduce机制实现单词的计数
- 简单的单词个数统计的mapreduce 的代码实现
- JavaScript基础----36JS浏览器对象-Location对象
- 【APIO2012】【BZOJ2809】派遣dispatching
- JavaScript基础----37JS浏览器对象-Screen对象
- Zen Garden驾到:首批Metal游戏已登录iTunes应用商店
- springmvc 前端控制器,映射器,适配器,视图解析器
- python实现单词计数的mapreduce
- Metal Framework Reference
- CSS中的变量使用详解
- Palindrome Partitioning II
- java中的debug使用
- Node.js开发入门—Express里的路由和中间件
- SAP固定资产期初导入检查
- 【C++基础之一】C++ 虚函数表解析
- k780数据解析测试