`

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

阅读更多

      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旗下十大开源项目

 

 

 

 

 

 

 

 

 

1
4
分享到:
评论

相关推荐

    使用hadoop-streaming运行Python编写的MapReduce程序.rar

    使用hadoop-streaming运行Python编写的MapReduce程序.rar

    python大数据-为什么Python编程非常适合大数据?.pdf

    访问HDFS API Pydoop软件包(Python和Hadoop)使您可以访问Hadoop的HDFS API,从⽽可以编写Hadoop MapReduce程序和应⽤程序。HDFSAPI 对您有何好处? 所以,你去。 HDFS API使您可以轻松地在⽂件,⽬录和全局⽂件系统...

    大数据学习(八):mapreduce编程案例-计算每个手机号访问网站请求流量、相应流量和流量总和根据手机号判断省份进行分类

    数据类型 数据顺序依次为:时间戳、手机号、mark地址、ip地址、访问地址、网站类型、请求时间、响应时间、请求流量、响应流量、状态 ...1363157995052 13826544101 5C-0E-8B-C7-F1-E0:CMCC 120.197.40.4 4 0 264 0 ...

    大数据期末大作业-Java岗位数据大屏分析,集成SpringBoot+JPA+Python+Vue2+Echarts

    基于SpringBoot、Vue、MapReduce、JDK8、JPA和Python的大数据期末大作业项目。通过爬虫代码获取Java岗位相关数据,并利用MapReduce进行数据处理和分析,最终通过前后端分离展示在一个大屏上。 后端方面使用...

    第5章 MapReduce分布式计算框架 2 5.1. MapReduce简介 2 5.2. wordcount经典案例介绍 2

    第5章 MapReduce分布式计算框架 2 5.1. MapReduce简介 2 5.2. wordcount经典案例介绍 2 ...Hadoop支持多种语言进行MapReduce编程,包括java、Python和C++等。本章从实战的角度出发,使用java编程语言通过

    大数据架构师的岗位职责.docx

    3、熟悉Linux,熟练使用Shell或Python,进行脚本编写; 4、对数据结构和数据统计分析算法有较为深刻理解; 5、掌握至少一种主流关系数据库开发技术:Oracle、SQL Server、MySQL等; 6、掌握实时流计算技术,有Spark、...

    大数据技术——数据处理和分析.pdf

    MAPREDUCE:JAVA编写MAP程序,REDUCE程序 SPARK:SCALA或者PYTHON开发,也⽀持SQL。 HIVE与MAPREDUCE的⽐较: HIVE提交的SQL会转化成MAPREDUCE的任务去执⾏。 HIVE的开发成本不⾼,优先⽤SQL解决问题。否则需要写...

    python数据分析随书代码

    本书从一系列开源的Python模块讲起,介绍了很多实用的有关数据检索、清晰、操作、可视化等知识。同时,还涉及信号处理、预测性分析、机器学习等高端主题。非常适合想要深入学习并使用Python进行数据分析的读者,无论...

    大数据体系

    1.Java,大数据框架的编写支持很多开发语言,但是Java在大数据方面有很大的优势,目前流行的大数据Hadoop框架,MapReduce框架,很多部分都是用开源的Java语言编写,因此Java在大数据方面有很大优势 2.Scala,就大数据而言,...

    大数据工程师学习计划.pdf

    Linux 基本操作 Hadoop(HDFS+MapReduce+Yarn ) HBase(JavaAPI操作+Phoenix ) Hive(Hql基本操作和原理理解) Kafka Storm/JStorm Scala Python Spark (Core+sparksql+Spark streaming ) 辅助⼩⼯具(Sqoop/Flume/...

    大数据应用测试经验总结.pdf

    数据采集:采集使⽤java和python程序从⽂件服务器下载⽂件,并把⽂件写⼊kafka、Hbase和Hive、Mysql中; 2. 计算引擎:使⽤Hive on Tez计算引擎实现ETL跑批任务;使⽤spark streaming实现实时计算;使⽤Phoenix做...

    漫谈大数据第四期-storm

    Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm之于实时处理,就好比Hadoop之于批处理。Storm保证每个消息都会得到处理,而且它很快——在一个小集群中,每秒可以处理数以百万计的消息。更棒的...

    awesome-hadoop:精选的超赞Hadoop和Hadoop生态系统资源列表

    很棒的Hadoop ... 用Cython编写的Python MapReduce库。 -mrjob是一个Python 2.5+软件包,可帮助您编写和运行Hadoop Streaming作业。 -Pydoop是一个为Hadoop提供Python API的软件包。 -HDFS-DU是Ha

    PySpark

    PySpark有关PySpark / Spark的一些信息: PySpark是适用于Spark的Python API Spark不是一种编程语言PySpark允许您编写在分布式集群上并行执行的基于python的数据处理应用程序Apache Spark是一个分析处理引擎,用于大...

    Hadoop权威指南(中文版)2015上传.rar

    在MapReduce中使用压缩 序列化 Writable接口 Writable类 实现定制的Writable类型 序列化框架 Avro 依据文件的数据结构 写入SequenceFile MapFile 第5章 MapReduce应用开发 配置API 合并多个源文件 可变的扩展 配置...

    big-data-projects:我在职业生涯中曾使用过的各种大数据代码的存储库

    大数据项目各种大数据代码的存储库,以学习大数据中的技术地图缩小Map Reduce是Hadoop数据处理框架,是用Java编写的,包含两个主要阶段-Map和Reduce阶段。 映射阶段读取输入数据作为输入拆分,并生成(K,V)键-值对...

    java简易商城源码-class-2018-bigdata:CLASS:BigDataProcessing(Fall2018),Hanyang

    框架编写并行程序来处理大数据,并学习数据挖掘/机器学习技术的基础知识。 它将以称为基于问题的 larning (PBL) 的格式进行组织。 学生应该解决三个问题,旨在学习一些实用和有用的技术,如 Spark 编程、机器学习...

Global site tag (gtag.js) - Google Analytics