返回顶部
首页 > 资讯 > 后端开发 > Python >用Python来写MapReduce的实
  • 889
分享到

用Python来写MapReduce的实

来写PythonMapReduce 2023-01-31 02:01:33 889人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

用python来写分布式的程序。这样速度快。便于调试,更有实际意义。mapReduce适合于对文本文件的处理及数据挖掘用:   在每台机器上: su - hadoop wget Http://www.Python.org/ftp/

python来写分布式的程序。这样速度快。便于调试,更有实际意义。mapReduce适合于对文本文件的处理及数据挖掘用:

  在每台机器上:
su - hadoop
wget Http://www.Python.org/ftp/python/3.0.1/Python-3.0.1.tar.bz2
tar jxvf Python-3.0.1.tar.bz2
cd Python-3.0.1
./configure --prefix=/home/hadoop/python;make;make install

vi /home/hadoop/mapper.py


#!/home/hadoop/python/bin/python3.0

import sys
for line in sys.stdin:
    line = line.strip()
    Words = line.split()
    for word in words:
        print ("%st%s" % (word, 1))

vi /home/hadoop/reduce.py


#!/home/hadoop/python/bin/python3.0

from operator import itemgetter
import sys

word2count = {}

for line in sys.stdin:
    line = line.strip()
    word, count = line.split('t', 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 ("%st%s" % (word, count))

  测测好不好用:
echo "foo foo quux labs foo bar quux" | /home/hadoop/mapper.py
foo 1
foo 1
quux 1
labs 1
foo 1
bar 1
quux 1

echo "foo foo quux labs foo bar quux" | /home/hadoop/mapper.py | sort | /home/hadoop/reduce.py
bar 1
foo 3
labs 1
quux 2

  在各个节点上都要准备好这两个文件啊!!!

  在master主节点上执行:

# 拷贝conf目录到hdfs文件系统中
$ cd /home/hadoop/hadoop-0.19.1
$ bin/hadoop dfs -copyFromLocal conf 111

  # 查看一下是否已经拷过去了
$ bin/hadoop dfs -ls
Found 1 items
drwxr-xr-x - hadoop supergroup 0 2009-05-18 15:27 /user/hadoop/111

  # 分布计算
$ bin/hadoop jar contrib/streaming/hadoop-0.19.1-streaming.jar -mapper /home/hadoop/mapper.py -reducer /home/hadoop/reduce.py -input 111/* -output 111-output
additionalConfSpec_:null
null=@@@userJobConfProps_.get(stream.shipped.hadoopstreaming
packageJobJar: [/tmp/hadoop-hadoop/hadoop-unjar29198/] [] /tmp/streamjob29199.jar tmpDir=null
[...] INFO mapred.FileInputFORMat: Total input paths to process : 12
[...] INFO streaming.StreamJob: getLocalDirs(): [/tmp/hadoop-hadoop/mapred/local]
[...] INFO streaming.StreamJob: Running job: job_200905191453_0001
[...] INFO streaming.StreamJob: To kill this job, run:
...
[...]
[...] INFO streaming.StreamJob: map 0% reduce 0%
[...] INFO streaming.StreamJob: map 43% reduce 0%
[...] INFO streaming.StreamJob: map 86% reduce 0%
[...] INFO streaming.StreamJob: map 100% reduce 0%
[...] INFO streaming.StreamJob: map 100% reduce 33%
[...] INFO streaming.StreamJob: map 100% reduce 70%
[...] INFO streaming.StreamJob: map 100% reduce 77%
[...] INFO streaming.StreamJob: map 100% reduce 100%
[...] INFO streaming.StreamJob: Job complete: job_200905191453_0001
[...] INFO streaming.StreamJob: Output: 111-output [hadoop@wangyin4 hadoop-0.19.1]$
$ bin/hadoop dfs -ls 111-output
Found 2 items
drwxr-xr-x - hadoop supergroup 0 2009-05-19 14:54 /user/hadoop/111-output/_logs
-rw-r--r-- 2 hadoop supergroup 30504 2009-05-19 16:26 /user/hadoop/111-output/part-00000
$ bin/hadoop dfs -cat 111-output/part-00000
you 3
you've 1
your 1
zero 3
zero, 1

Over,搞定。大家可以拓展这个例子,写出自己的应用来。

--结束END--

本文标题: 用Python来写MapReduce的实

本文链接: https://lsjlt.com/news/186076.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 用Python来写MapReduce的实
    用Python来写分布式的程序。这样速度快。便于调试,更有实际意义。MapReduce适合于对文本文件的处理及数据挖掘用:   在每台机器上: su - hadoop wget http://www.python.org/ftp/...
    99+
    2023-01-31
    来写 Python MapReduce
  • iPad适合用来写Python吗?
    B站上有很多博主拍过iPad作为生产力的视频,比如用iPad画漫画、记笔记、剪视频、轻办公等等,那么iPad可以用来写代码、跑Python吗?这也是一些初学Python的小伙伴关心的问题,他们经常下载一些编辑Python的APP,试图在上面...
    99+
    2023-05-14
    Python Jupyter
  • 深入探究如何使用Java编写MapReduce程序
    目录MapReduce的原理Map阶段Reduce阶段Shuffle阶段MapReduce程序实现总结 MapReduce的原理 MapReduce由两个主要阶段组成:Map和Red...
    99+
    2023-05-19
    Java编写MapReduce程序 Java编写MapReduce Java MapReduce
  • SQLite5-使用Python来读写数据库
    目录1 Python读写SQLite基本流程2 编程实现2.1 基本流程2.2 数据插入2.2.1 插入单条数据2.2.2 插入多条数据2.2.3 保存数据3 测试3.1 运行pyt...
    99+
    2024-04-02
  • Python使用MapReduce编程模型统计销量
    目录1、生成模拟数据2、mapper实现3、reducer实现MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和...
    99+
    2024-04-02
  • java实现mapreduce的方法是什么
    Java实现MapReduce的方法是使用Hadoop框架。Hadoop是一个开源的分布式计算框架,其中包含了MapReduce编程...
    99+
    2023-08-26
    java mapreduce
  • hadoop中mapreduce的作用是什么
    MapReduce是Hadoop中的一种编程模型,用于处理大规模数据集的并行计算。它将数据分为若干个小块,并在集群中的多个节点上并行...
    99+
    2024-03-14
    hadoop
  • 使用Python来编写HTTP服务器的超级指南
    首先,到底什么是网络服务器? 简而言之,它是在物理服务器上搭建的一个网络连接服务器(networking server),永久地等待客户端发送请求。当服务器收到请求之后,它会生成响应并将 其返回至客户端...
    99+
    2022-06-04
    服务器 指南 Python
  • java 矩阵乘法的mapreduce程序实现
    java 矩阵乘法的mapreduce程序实现map函数:对于矩阵M中的每个元素m(ij),产生一系列的key-value对<(i,k),(M,j,m(ij))>其中k=1,2.....知道矩阵N的总列数;对于矩阵N中的每个元素...
    99+
    2023-05-31
    java 矩阵乘法 mapreduce
  • MapReduce多种join实现的示例分析
    这篇文章将为大家详细讲解有关MapReduce多种join实现的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、概述   对于RDBMS中的join操...
    99+
    2023-06-03
  • SQLite5中怎么使用Python来读写数据库
    本篇内容介绍了“SQLite5中怎么使用Python来读写数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!SQLite支持多种编程语言的...
    99+
    2023-06-22
  • 用Python写游戏脚本原来这么简单
    前言最近在玩儿公主连结,之前也玩儿过阴阳师这样的游戏,这样的游戏都会有个初始号这样的东西,或者说是可以肝的东西。当然,作为一名程序员,肝这种东西完全可以用写代码的方式帮我们自动完成。游戏脚本其实并不高深,最简单的体验方法就是下载一个Airt...
    99+
    2023-05-14
    游戏 Python 脚本
  • 如何进行MapReduce数据序列化读写概念的浅析
    这期内容当中小编将会给大家带来有关如何进行MapReduce数据序列化读写概念的浅析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。MapReduce为处理简单数据格式(如日志文件)提供了简明的文档支持,但...
    99+
    2023-06-02
  • c#能用来写什么
    c# 是一种用于开发广泛应用程序和软件解决方案的面向对象编程语言。它可用于创建桌面应用程序、web 应用程序、移动应用程序、游戏、人工智能系统、云计算解决方案、脚本、代码库、编译器和分析...
    99+
    2024-04-04
    c# 跨平台应用 移动应用程序
  • MySQL中通过ProxySQL的使用来实现读写分离
    本文主要给大家介绍MySQL中通过ProxySQL的使用来实现读写分离,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL中通过ProxySQL...
    99+
    2024-04-02
  • Python怎么使用MapReduce编程模型统计销量
    这篇文章主要介绍了Python怎么使用MapReduce编程模型统计销量的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么使用MapReduce编程模型统计销量文章都会有所收获,下面我们一起来看看吧...
    99+
    2023-06-30
  • 写写python中try的使用
    python中try的使用 在 Python 中,try 是用于异常处理的关键字。try 语句的语法如下: try: # 可能会抛出异常的语句块except ExceptionType1: ...
    99+
    2023-09-20
    python java 前端
  • 如何使用hadoop archive合并小文件并进行mapreduce来减少map的数量
    这篇文章给大家分享的是有关如何使用hadoop archive合并小文件并进行mapreduce来减少map的数量的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。如下:原始文件 四个文件经过hadoop archi...
    99+
    2023-06-02
  • Golang编程并发工具库MapReduce使用实践
    目录环境项目需求mapReduce使用说明需求实现业务逻辑创建任务队列运行结果结论引申阅读环境 go version go1.16.4 windows/amd64 Intel(R) ...
    99+
    2024-04-02
  • c语言和python区别主要用来写什么
    c语言和python是两门截然不同的编程语言,它们在语法、设计理念、性能和应用领域方面都有显著差异。c语言是一种过程式语言,以其简洁、高效的特性而闻名,主要用于底层系统编程和性能要求较高...
    99+
    2024-03-14
    c语言 python linux操作系统 作用域 python程序 底层开发 标准库 魔兽世界
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作