利用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,1

    def  reduceer(self,words,occrrence):
        yield  words,sum(occrrence)


if __name__ =="__main__":
    WordCount.run()

 

 

    检验成果:

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

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

 

 

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

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

 

转载于:https://www.cnblogs.com/luren-hometown/p/9549300.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值