使用

python

MapReduce

诀窍

是利用

Hadoop

流的

API

,通过

STDIN(

标准输入

)

STDOUT(

标准输出

)

Map

函数和

Reduce

函数之间传递

数据。

我们唯一需要做的是

利用

Python

sys.stdin

读取输入数据,并把我

们的输出传送给

sys.stdout

Hadoop

流将会帮助我们处理别的任何事情。

1.1 Map

阶段:

mapper.py

在这里,我们假设把文件保存到

hadoop-0.20.2/test/code/mapper.py

#!/usr/bin/env python

import sys

for line in sys.stdin:

line = line.strip()

words = line.split()

for word in words:

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

文件从

STDIN

读取文件。把单词切开,并把单词和词频输出

STDOUT

Map

脚本不会计算单词的总数,

而是输出

1

在我们的例子中,

我们让随后

Reduce

阶段做统计工作。

为了是脚本可执行,增加

mapper.py

的可执行权限

chmod +x hadoop-0.20.2/test/code/mapper.py

1.2 Reduce

阶段:

reducer.py

在这里,我们假设把文件保存到

hadoop-0.20.2/test/code/reducer.py

#!/usr/bin/env python

python写mapreduce_用python写MapReduce函数——以WordCount为例相关推荐

  1. MapReduce函数实现WordCount

    简单介绍下词频分析,就是统计一个文件中的字段名的出现的次数. 实现过程: 1.创建maven工程 在pom.xml中加入配置信息 以下内容可以在maven 中心仓库中找到 <!-- https: ...

  2. python函数的组成要素_写好一个Python函数的六要素

    Python 虽然好用,但用好真的很难.尤其是函数部分,只要写不好,后面的一连串人都会遭殃.看又看不懂,测试起来也麻烦,维护又维护不动,真是让人头疼. 那怎么写好一个 Python 函数呢?<W ...

  3. 如何写新的Python OP

    如何写新的Python OP Paddle 通过 py_func 接口支持在Python端自定义OP. py_func的设计原理在于Paddle中的Tensor可以与numpy数组可以方便的互相转换, ...

  4. python写了代码_Python写代码的用法建议

    1.Mutable and immutable types Python有两种内置或用户定义的类型 可变类型是允许就地修改内容的类型.典型的可变列表是列表和词典:所有列表都有变异方法,如 list.a ...

  5. python写好的代码怎么给别人使用-10分钟学会用python写游戏!Python其实很简单!...

    原标题:10分钟学会用python写游戏!Python其实很简单! Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以在这里给各位看官们准备了高价值Python学习视频教程 ...

  6. python语音播报-用Python写一个语音播放软件

    单位经常使用广播进行临时事项的通知(将文字转换为语音然后通过功放广播),但是市面上多数语音播放软件都是收费的,要么发音失真,要么不够稳定--经常出现莫名其妙的故障,容易给工作带来被动.学Python这 ...

  7. python软件界面-用Python写一个语音播放软件

    原标题:用Python写一个语音播放软件 单位经常使用广播进行临时事项的通知(将文字转换为语音然后通过功放广播),但是市面上多数语音播放软件都是收费的,要么发音失真,要么不够稳定--经常出现莫名其妙的 ...

  8. python是用c写的吗-python和c语言的区别是什么

    Python可以说是目前最火的语言之一了,人工智能的兴起让Python一夜之间变得家喻户晓,Python号称目前最最简单易学的语言,现在有不少高校开始将Python作为大一新生的入门语言.本萌新也刚开 ...

  9. python是用c写的吗-python是用c写的吗

    python是用c写的,下面给大家介绍一下Python与c的联系: python的诞生 1991年,第一个Python编译器(同时也是解释器)诞生.它是用C语言实现的,并能够调用C库(.so文件).从 ...

最新文章

  1. 软件项目管理0716:责任分工明确
  2. 数据挖掘实验报告-关联规则算法实验
  3. HTTP 错误 404 - 文件或目录未找到 - 最终解决方法
  4. Server.Transfer 和Response.Redirect 比较
  5. 指针与引用的混合使用总结
  6. istio组件介绍和启动流程
  7. C++关键字(3)——static
  8. 操作属性之修改样式属性
  9. 清空对象里面所有的value值_Python 面向对象之组合用法
  10. ajax请求sql数据库数据类型,ajax请求mysql文件数据库
  11. svn中文扩展包安装
  12. 最新PC微信多开——OD修改dll程序跳转逻辑实现多开
  13. 如何把书上的字弄到电脑
  14. python中判断生肖和星座哪个准_星座准还是属相
  15. 英语——长难句分析及技巧
  16. git 公钥配置时问题解决记录
  17. 互联网历史上50个最重要的时刻
  18. 网页短信平台国际通道搭建|后台定制-移讯云短信系统
  19. TOM 邮箱与网易vip邮箱作用的不同
  20. kubernetes hpa源码分析

热门文章

  1. ubuntu linux kvm安装,基于Ubuntu 14.04 KVM拟化安装部署
  2. [蓝桥杯][算法训练]K好数(动态规划)
  3. java 读取文件内容 实例_Java 实例 – 读取文件内容 - Java 基础教程
  4. vue使用npm不会自己加到plugins_Vue-cli项目,打包生产模式,部分用户360浏览器极速模式下奔溃...
  5. python中三种分支结构的_python 运算符与分支结构
  6. 2017计算机软件考试试题,2017年计算机应用考试试题含答案.doc
  7. 【数据分析学习】数据预处理
  8. oracle关闭 manager,Oracle Enterprise Manager 11g 启停
  9. 『操作系统』 进程的描述与控制 Part3 管程
  10. 『设计模式』小伙你的穿搭很潮!--装饰者模式