利用python操作mrjob实例---wordcount
网上利用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的更多相关文章
- Python 利用Python操作excel表格之openyxl介绍Part2
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart() ...
- Python 利用Python操作excel表格之openyxl介绍Part1
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...
- Python 利用Python操作excel表格之xlwt介绍
利用Python操作excel表格之xlwt介绍 by:授客 QQ:1033553122 直接上代码 案例1 #!/usr/bin/env python # -*- coding:utf-8 ...
- Python操作Mysql实例代码教程在线版(查询手册)_python
实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发 MySQL-python Windows下EXE安装文件下载 复制代码 代码如下: # -*- coding ...
- 利用Python操作Word文档【图片】
利用Python操作Word文档
- 利用Python操作MySQL数据库
前言 在工作中,我们需要经常对数据库进行操作,比如 Oracle.MySQL.SQL Sever 等,今天我们就学习如何利用Python来操作 MySQL 数据库. 本人环境:Python 3.7.0 ...
- Python操作Mysql实例代码教程在线版(查询手册)
本文介绍了Python操作MYSQL.执行SQL语句.获取结果集.遍历结果集.取得某个字段.获取表字段名.将图片插入数据库.执行事务等各种代码实例和详细介绍,代码居多,是一桌丰盛唯美的代码大餐 实 ...
- win32下利用python操作printer
在win32下操作printer: 1)import win32print 2) 获得默认打印机名: >>> win32print.GetDefaultPr ...
- python操作mysql实例
#coding=utf-8 import MySQLdb # 打开数据库连接 db = MySQLdb.connect(host='localhost',user='root',passwd='',d ...
随机推荐
- Linux 配置samba服务实现与Windows文件共享
目录: 1.samba服务介绍 2. 安装samba服务和客户端 3.samba配置文件详解 4.配置实例 5.客户端挂载与测试 6.samba排错 1.Samba服务介绍 Samba 最先在 ...
- Tuxedo安装、配置、以及演示样例程序 (学习网址)
Tuxedo安装.配置.以及演示样例程序 (学习网址): 1.http://liu9403.iteye.com/blog/1415684 2.http://www.cnblogs.com/fnng/a ...
- Eclipse+Maven 项目创建
★:jar包下载不了的话可能是镜像里没有这个版本,换个低版本的就行 ★:eclipse工程validating很慢,可以先关掉验证(一般对项目没什么影响) ★:eclipse工程pom.xml文件报错 ...
- [EffectiveC++]item07:declare destructors virtual in polymorphic base class
- OC内存管理-黄金法则
1.内存管理-黄金法则 The basic rule to apply is everything that increases the reference counter with alloc, [ ...
- iOS自动化-- 常用iOS命令
iOS命令: 获取设备的的UDID idevice_id --list # 显示当前所连接设备的 udid instruments -s devices # 列出所有设备,包括真机.模拟器.mac i ...
- struts配置中的常量定义
一.常量可以在struts.xml或struts.properties中配置,建议在struts.xml中配置,两种配置方式如下: (1)在struts.xml文件中配置常量 <struts&g ...
- 深入理解webpack打包机制
一.单入口文件如何打包 /src/single/index.js var index2 = require('./index2'); var util = require('./util'); con ...
- css文字闪烁效果
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 语法规范:BNF与ABNF 巴斯克范式
语法规范:BNF与ABNF 巴斯克范式 BNF 巴科斯范式(BNF: Backus-Naur Form 的缩写)是由 John Backus 和 Peter Naur 首先引入的用来描述计算机语言语 ...