网上利用java实现mr操作实例相对较多,现将python实现mr操作实例---Wordcount分享如下:

在操作前,需要作如下准备:

1.确保linux系统里安装有python3.5,python3.6以上考虑到兼容性不是太友好,之前也踩过相应的坑。(这里对python3.5的安装不作细述,需注意环境的配置正确!)

2.安装mrjob:pip install  mrjob(这里注意:pip是python2版本自带的,当你配置好python环境,需要给pip做个软连接,ln -s /usr/local/python3.5/bin/pip3  usr/bin/pip)3.在系统中创建一个文件夹,用来存放测试文件和python的脚步,本机直接在root目录中创建了mrjob文件,里面存放文件:text.txt(文件内容任意去网上拷段英文)    wc.p(这里重点

是python的脚本,如下:

rom mrjob.job import MRJob

class  WordCount(MRJob):

    def  mapper(self,key,lines):
line =lines.strip().split(' ') for word in line:
yield word, def reduceer(self,words,occrrence):
yield words,sum(occrrence) if __name__ =="__main__":
WordCount.run()

检验成果:

  1.本地运行:在mrjob文件夹中执行命令:python3 wc.py -r  local  text.txt

"Welcome"
"to"
"Apache\u2122"
"Hadoop\u00ae!"
"What"
"Is"
"Apache"
"Hadoop?"
"The"
"Apache\u2122"
"Hadoop\u00ae"
"project"
"develops"
"open-source"
.................(省略!)

注意:这里结果虽然出来了,是不是得让结果保存到文件夹:python3  wc.py  -r  local  text.txt >hh.txt  (重定向)

  2.集群上运行:pyhton3  wc.py  -r  hadoop  hdfs://sxt/mrjob/text.txt >hh.txt(命令差不多!)

利用python操作mrjob实例---wordcount的更多相关文章

  1. Python 利用Python操作excel表格之openyxl介绍Part2

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart()    ...

  2. Python 利用Python操作excel表格之openyxl介绍Part1

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...

  3. Python 利用Python操作excel表格之xlwt介绍

    利用Python操作excel表格之xlwt介绍   by:授客 QQ:1033553122 直接上代码   案例1 #!/usr/bin/env python # -*- coding:utf-8 ...

  4. Python操作Mysql实例代码教程在线版(查询手册)_python

    实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发 MySQL-python Windows下EXE安装文件下载 复制代码 代码如下: # -*- coding ...

  5. 利用Python操作Word文档【图片】

    利用Python操作Word文档

  6. 利用Python操作MySQL数据库

    前言 在工作中,我们需要经常对数据库进行操作,比如 Oracle.MySQL.SQL Sever 等,今天我们就学习如何利用Python来操作 MySQL 数据库. 本人环境:Python 3.7.0 ...

  7. Python操作Mysql实例代码教程在线版(查询手册)

    本文介绍了Python操作MYSQL.执行SQL语句.获取结果集.遍历结果集.取得某个字段.获取表字段名.将图片插入数据库.执行事务等各种代码实例和详细介绍,代码居多,是一桌丰盛唯美的代码大餐   实 ...

  8. win32下利用python操作printer

    在win32下操作printer:   1)import win32print   2) 获得默认打印机名:          >>> win32print.GetDefaultPr ...

  9. python操作mysql实例

    #coding=utf-8 import MySQLdb # 打开数据库连接 db = MySQLdb.connect(host='localhost',user='root',passwd='',d ...

随机推荐

  1. js中问号

    是三目运算,如:(a==b)?a:b 也就是说,先判断a是否等于b,如果是(true),那么返回a,如果否(false),则返回b greeting=(visitor=="PRES" ...

  2. MySql 时间处理

    纸上得来终觉浅,绝知此事要躬行 博客园 首页 新闻 新随笔 联系 管理 随笔- 490  文章- 0  评论- 65  MySql 时间处理 这里是一个使用日期函数的例子.下面的查询选择了所有记录,其 ...

  3. gitlab自动备份恢复与卸载

    一.gitlab数据备份gitlab-rake gitlab:backup:create命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1393513186_gitlab ...

  4. FTP(文件传输协议)工作原理

    目前在网络上,如果你想把文件和其他人共享.最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件. 1.FTP架构 如同其他的很多通讯协议,FTP通讯协议也采用客户 ...

  5. ZT 蓝牙的AVCTP协议笔记

    蓝牙的AVCTP协议笔记 (2013-07-31 08:52:41) 转载▼ 标签: bluetooth avctp command response 分类: Bluetooth 1.概述     A ...

  6. 判断元素(expected_conditions)

    判断元素 如何判断一个元素是否存在,如何判断 alert 弹窗出来了,如何判断动态的元素等等一系列的判断,在 selenium 的 expected_conditions 模块收集了一系列的场景判断方 ...

  7. c++ 派生类的构造函数次序

    #include <iostream> using namespace std; class CFatherSum //父类Sum { public: CFatherSum(int iRe ...

  8. 【[HNOI2004]敲砖块】

    非常巧妙的\(dp\)顺序 这道题如果按照最正常的顺序来\(dp\)的话,显然是没有办法做的,后效性太大了 所以我们可以巧妙的改变\(dp\)的顺序 我们注意到一个位置\((i,j)\)要被打到的话就 ...

  9. eclipse导出maven依赖的jar包

    一.导出到默认目录 targed/dependency 1.从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令: mvn dependency:copy-de ...

  10. 随手练——O(n)解决无序数组排序后的相邻最大差值

    题目从这儿看到的 : https://mp.weixin.qq.com/s/2OXg67MfBuQjDPAJxxD8rQ,但是公众号上讲错了,问题还挺严重的. 题目知识点:桶排序. 题目:有一个无序数 ...