文档章节

大数据系列3:用Python编写MapReduce

杨尚川
 杨尚川
发布于 2015/04/06 19:06
字数 166
阅读 78
收藏 0

      vi mapper.py

      输入:

             #!/usr/bin/env python

 

             importsys

 

             for linein sys.stdin:

                           line= line.strip()

                           words= line.split()

                           forword in words:

                                         print'%s\t%s' % (word,1)

      chmod +x mapper.py

      vi reducer.py

      输入:

            #!/usr/bin/envpython

 

            from operator import itemgetter

 

            import sys

 

            current_word = None

            current_count = 0

            word = None

 

            for line in sys.stdin:

                          line = line.strip()

                          word, count =line.split('\t', 1)

                          try:

                                        count =int(count)

                          except ValueError:

                                        continue

                          if current_word ==word:

                                        current_count+= count

                          else:

                                        ifcurrent_word:

                                                      print'%s\t%s' % (current_word, current_count)

                                        current_count= count

                                        current_word= word

            if current_word:

                           print'%s\t%s' % (current_word, current_count)

      chmod +x reducer.py

      本地操作系统测试:

      echo "foo fooquux labs foo bar quux" | ./mapper.py | sort | ./reducer.py

      提交HADOOP集群运行:

      hadoop jar hadoop-1.2.1/contrib/streaming/hadoop-streaming-1.2.1.jar -input input -output output-streaming-python  -mapper /home/ysc/mapper.py -reducer /home/ysc/reducer.py

 

 

 

 

APDPlat旗下十大开源项目

 

 

 

 

 


© 著作权归作者所有

杨尚川

杨尚川

粉丝 1103
博文 220
码字总数 1624053
作品 12
东城
架构师
私信 提问
【大数据分析常用算法】0.简介

简介 本系列教程主要探讨有关大数据的所有常用算法的实现,定期加入有趣的项目实践。 1、实现语言 初步使用java实现,后续加入python。 Hadoop Mapreduce Java实现 位于包*.mapreduce下。 Sp...

Areya
01/14
57
0
Pydoop 架构和模块包介绍

背景 Hadoop支持Java以及C/C++开发,其中Hadoop Pipes(C++)支持MapReduce,而Hadoop libhdfs(C)支持HDFS的访问。但Python的解决方案仅能支持Hadoop部分功能,具体如下。 Hadoop Streaming:1...

索隆
2012/09/13
430
0
Apache Flink 1.9.0 为什么将支持 Python API ?

作者:孙金城(金竹) 本文目录: 最流行的编程语言 互联网最火热的领域 2.1 大数据时代,数据量与日俱增 2.2 数据的价值来源于数据分析 2.3 数据价值最大化,时效性 阿尔法与人工智能 总结 ...

Ververica
08/01
0
0
使用Python实现Hadoop MapReduce程序

笔者的机器运行效果如下(输入数据是find的帮助手册,和笔者预期一样,the是最多的): --------------------------------------以下是原帖--------------------------------- 在这个实例中,...

彼得
2014/04/03
6.1K
4
Hadoop MapReduce计算框架

1、MapReduce理论 1.1、MapReduce是什么? MapReduce用于处理海量数据的分布式计算框架,是Hadoop生态中的核心之一(MapReduce用于计算海量数据,HDFS用于存储海量数据);MapReduce是谷歌公...

巴利奇
2018/10/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SSH安全加强两步走

从 OpenSSH 6.2 开始已经支持 SSH 多因素认证,本文就来讲讲如何在 OpenSSH 下启用该特性。 OpenSSH 6.2 以后的版本多了一个配置项 AuthenticationMethods。该配置项可以让 OpenSSH 同时指定...

xiangyunyan
25分钟前
3
0
C或C++不是C/C++

http://www.voidcn.com/article/p-mucdruqa-ws.html

shzwork
今天
6
0
OSChina 周六乱弹 —— 如何将梳子卖给和尚

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @for_ :划水五分钟,专注两小时。分享Various Artists的单曲《贝多芬第8号钢琴奏鸣曲悲伤的第三乐章》: 《贝多芬第8号钢琴奏鸣曲悲伤的第三乐...

小小编辑
今天
176
8
ES5

什么是ES5:比普通js运行要求更加严格的模式 为什么:js语言本身有很多广受诟病的缺陷 如何:在当前作用域的顶部添加:"use strict" 要求: 1、禁止给未声明的变量赋值 2、静默失败升级为错误...

wytao1995
今天
7
0
c++ 内联函数调用快的原因

见图片分析

天王盖地虎626
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部