网上利用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. Linux 配置samba服务实现与Windows文件共享

    目录: 1.samba服务介绍 2. 安装samba服务和客户端 3.samba配置文件详解 4.配置实例 5.客户端挂载与测试 6.samba排错 1.Samba服务介绍     Samba 最先在 ...

  2. Tuxedo安装、配置、以及演示样例程序 (学习网址)

    Tuxedo安装.配置.以及演示样例程序 (学习网址): 1.http://liu9403.iteye.com/blog/1415684 2.http://www.cnblogs.com/fnng/a ...

  3. Eclipse+Maven 项目创建

    ★:jar包下载不了的话可能是镜像里没有这个版本,换个低版本的就行 ★:eclipse工程validating很慢,可以先关掉验证(一般对项目没什么影响) ★:eclipse工程pom.xml文件报错 ...

  4. [EffectiveC++]item07:declare destructors virtual in polymorphic base class

  5. OC内存管理-黄金法则

    1.内存管理-黄金法则 The basic rule to apply is everything that increases the reference counter with alloc, [ ...

  6. iOS自动化-- 常用iOS命令

    iOS命令: 获取设备的的UDID idevice_id --list # 显示当前所连接设备的 udid instruments -s devices # 列出所有设备,包括真机.模拟器.mac i ...

  7. struts配置中的常量定义

    一.常量可以在struts.xml或struts.properties中配置,建议在struts.xml中配置,两种配置方式如下: (1)在struts.xml文件中配置常量 <struts&g ...

  8. 深入理解webpack打包机制

    一.单入口文件如何打包 /src/single/index.js var index2 = require('./index2'); var util = require('./util'); con ...

  9. css文字闪烁效果

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  10. 语法规范:BNF与ABNF 巴斯克范式

    语法规范:BNF与ABNF 巴斯克范式 BNF  巴科斯范式(BNF: Backus-Naur Form 的缩写)是由 John Backus 和 Peter Naur 首先引入的用来描述计算机语言语 ...