`

大数据系列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编写MapReduce任务,并通过Hadoop Streaming进行执行。 MapReduce是一种编程模型,由...

    Python执行MapReduce测试

    3. **安装Python 2.5**:尽管Python 2.5已经过时,但在这个特定的测试案例中使用了该版本。需要注意的是,现代系统中更推荐使用Python 3.x版本。 #### 二、MapReduce概念理解 **MapReduce**是一种编程模型,用于大...

    使用python实现mapreduce(wordcount).doc

    尽管Hadoop的原生实现是基于Java,但Hadoop Streaming允许我们使用任意语言(如Python)编写MapReduce程序。Hadoop Streaming的工作原理是,mapper和reducer程序只需从标准输入读取并写入标准输出即可。 1. **...

    精选_大数据Hadoop平台2-2、MapReduce_源码打包

    例如,这里提供的"mapreduce_wordcount_python2-2"可能是一个基于Python的WordCount示例,它展示了如何使用Python编写MapReduce作业。 6. **WordCount示例**:WordCount是最常见的MapReduce示例,用于统计文本文件...

    大数据大代码_python大数据_python_python_

    Python的PySpark库使得我们可以用Python编写Spark应用。通过PySpark,你可以学习如何创建SparkSession,读取HDFS或其他分布式存储系统中的数据,然后进行MapReduce操作,如数据过滤、聚合和转换。 机器学习库Scikit...

    基于python编写的大数据推荐系统

    在大数据推荐系统中,Python用于编写数据预处理、模型训练和结果展示等各个环节的代码。例如,Pandas库用于数据清洗和分析,Numpy提供高效的数值计算,Scikit-learn则用于实现各种机器学习算法。 二、大数据处理 ...

    python hadoop mapreduce 相似用户|mapreduce.rar

    本文将深入探讨如何使用Python来编写Hadoop MapReduce程序,以实现微博关注者之间的相似用户分析。这个任务的关键在于理解并应用分布式计算原理,以及熟悉Python编程语言在大数据环境下的应用。 首先,Hadoop ...

    大数据云计算利器:Hadoop The Definitive Guide,2Ed.pdf

    尽管Hadoop原生支持Java MapReduce,但本书第二版也提到了如何使用Ruby和Python等其他编程语言来运行分布式MapReduce作业,这为不同的开发者提供了更多的灵活性和选择。 8. Hadoop组件细节 书籍中深入讨论了Hadoop...

    Python——机器学习实战——大数据与MapReduce

    这些API提供了方便的接口,使得开发者可以用Python编写MapReduce作业。例如,你可以在map函数中使用scikit-learn的模型进行训练,然后在reduce函数中进行模型的融合或结果的统计。 在大数据与机器学习实战中,我们...

    Python-mrjob在Hadoop或AmazonWebServices上运行MapReduce作业

    这个库简化了在分布式计算系统中执行数据处理任务的过程,使得Python开发者无需深入理解Hadoop的底层细节也能编写MapReduce程序。 MapReduce是一种编程模型,由Google提出,用于大规模数据集的并行处理。它将大数据...

    python MapReduce的wordcount

    在本篇文章中,我们将深入探讨如何使用 Python 实现一个简单的 MapReduce WordCount 应用。 #### 二、MapReduce 基本思想 MapReduce 的工作原理依赖于将大数据集分割成多个小块,然后将这些小块并行地处理。具体来...

    毕业设计:基于Python爬虫和HDFS的招聘信息采集与存储系统.zip

    3. **爬虫开发**:编写Python爬虫程序,设置URL列表,实现网页抓取和信息解析。 4. **数据清洗**:对抓取的数据进行预处理,去除无关信息,统一格式。 5. **数据存储**:将清洗后的数据上传至HDFS,可以采用Hadoop ...

    Python中Hadoop MapReduce的一个简单示例.zip

    在Python中,我们通常使用Pydoop库来编写MapReduce作业。Pydoop提供了Python接口,允许开发者以Python代码编写Map和Reduce函数,然后提交到Hadoop集群运行。例如,Map函数可能会解析文本行,寻找关键词,而Reduce...

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

    开发者还可以用Java编写用户定义函数(UDF)来扩展其功能。MapReduce则是Hadoop生态系统中的基础计算框架,通过映射(Map)和化简(Reduce)两个阶段进行数据处理,适合处理大规模数据集。 Spark作为另一种强大的大...

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

    Pydoop库允许Python开发者直接访问Hadoop的HDFS API,轻松编写MapReduce程序,实现高效的数据处理。通过Pydoop,开发者可以方便地进行文件和目录操作,以及执行复杂的MapReduce任务,简化了大数据应用的开发流程。 ...

    使用 python 操作大数据的各种组件.zip

    Python的Hadoop库,如Pydoop,允许开发者使用Python编写MapReduce作业。 5. **Apache Hive**: Hive是基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能。Python可以使用...

    大数据开发语言-Python.pdf

    PySpark是Apache Spark的Python API,允许开发者使用Python编写分布式数据处理程序,充分利用Spark的内存计算优势,提高大数据处理速度。此外,PyHadoop则提供了Python接口来操作Hadoop MapReduce。 五、Web抓取与...

    pydoop:适用于HadoopPython MapReduce和HDFS API

    4. **性能优化**:尽管Pydoop是用Python编写的,但它通过Cython进行了优化,确保了与Hadoop通信的高效性。这意味着在处理大数据时,Python代码的执行速度不会成为瓶颈。 5. **兼容性**:Pydoop与多个版本的Hadoop...

    深入理解大数据:大数据处理与编程实践 书中所有代码

    - **Python**:在大数据领域,Python广泛用于数据预处理、数据分析和机器学习,如Pandas、NumPy和Scikit-learn库。 4. **Chapter 8 - 数据清洗与预处理**: - 数据清洗:包括去除重复值、处理缺失值、异常值检测...

    python大数据作业.zip

    6. MapReduce编程模型:理解MapReduce的工作原理,学习如何编写Map和Reduce函数,这是处理大数据的基础。Python的`itertools`模块中的`groupby()`函数可实现类似Reduce的功能。 7. Numpy与Scipy:这两个库提供了...

Global site tag (gtag.js) - Google Analytics