位置: 编程技术 - 正文

让python在hadoop上跑起来(hadoop运行python程序)

编辑:rootadmin

推荐整理分享让python在hadoop上跑起来(hadoop运行python程序),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:hadoop with python,python hadoop mapreduce,hadoop运行python程序,hadoop运行python程序,hadoop运行python程序,hadoop pytorch,hadoop pytorch,hadoop运行python程序,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲解的是一般的hadoop入门程序“WordCount”,就是首先写一个map程序用来将输入的字符串分割成单个的单词,然后reduce这些单个的单词,相同的单词就对其进行计数,不同的单词分别输出,结果输出每一个单词出现的频数。

  注意:关于数据的输入输出是通过sys.stdin(系统标准输入)和sys.stdout(系统标准输出)来控制数据的读入与输出。所有的脚本执行之前都需要修改权限,否则没有执行权限,例如下面的脚本创建之前使用“chmod +x mapper.py”

1.mapper.py

2.reducer.py

在shell中运行以下脚本,查看输出结果:

其实,我觉得后面这个reducer.py处理单词频数有点麻烦,将单词存储在字典里面,单词作为‘key',每一个单词出现的频数作为'value',进而进行频数统计感觉会更加高效一点。因此,改进脚本如下:

mapper_1.py

但是,貌似写着写着用了两个循环,反而效率低了。关键是不太明白这里的current_word和current_count的作用,如果从字面上老看是当前存在的单词,那么怎么和遍历读取的word和count相区别?

下面看一些脚本的输出结果:

我们可以看到,上面同样的输入数据,同样的shell换了不同的reducer,结果后者并没有对数据进行排序,实在是费解~

让python在hadoop上跑起来(hadoop运行python程序)

让Python代码在hadoop上跑起来!

一、准备输入数据

接下来,先下载三本书:

然后把这三本书上传到hdfs文件系统上:

寻找你的streaming的jar文件存放地址,注意2.6的版本放到share目录下了,可以进入hadoop安装目录寻找该文件:

然后就会找到我们的share文件夹中的hadoop-straming*.jar文件:

寻找速度可能有点慢,因此你最好是根据自己的版本号到对应的目录下去寻找这个streaming文件,由于这个文件的路径比较长,因此我们可以将它写入到环境变量:

由于通过streaming接口运行的脚本太长了,因此直接建立一个shell名称为run.sh来运行:

然后"source run.sh"来执行mapreduce。结果就响当当的出来啦。这里特别要提醒一下:

1、一定要把本地的输入文件转移到hdfs系统上面,否则无法识别你的input内容;

2、一定要有权限,一定要在你的hdfs系统下面建立你的个人文件夹否则就会被denied,是的,就是这两个错误搞得我在服务器上面痛不欲生,四处问人的感觉真心不如自己清醒对待来的好;

3、如果你是第一次在服务器上面玩hadoop,建议在这之前请在自己的虚拟机或者linux系统上面配置好伪分布式然后入门hadoop来的比较不那么头疼,之前我并不知道我在服务器上面运维没有给我运行的权限,后来在自己的虚拟机里面运行一下example实例以及wordcount才找到自己的错误。

好啦,然后不出意外,就会complete啦,你就可以通过如下方式查看计数结果:

标签: hadoop运行python程序

本文链接地址:https://www.jiuchutong.com/biancheng/381318.html 转载请保留说明!

上一篇:CentOS安装pillow报错的解决方法(centos 安装pip3)

下一篇:Python图像灰度变换及图像数组操作(python灰度变换)

  • 首套房契税税率是多少?
  • 在外地施工的企业应该在哪里申报
  • 普票不能抵扣要坐在帐里吗
  • 单位买了一批空调怎么办
  • 税款所属期错了怎么更正
  • 期末资产负债
  • 资产负债表试算平衡表是什么
  • 未达账项怎么做会计分录
  • 未抄报税可以报税吗
  • 人工材料成本怎么分配
  • 企业利息收入会计分录怎么做
  • 货款打了未收到发票但是公司倒闭了怎么办?
  • 抵扣勾选和退税勾选选错了怎么办
  • 发票上单价可以开0吗
  • 事业编年底
  • 出口退税收入凭证怎么填
  • 工资发错了,多发了怎么办
  • 凯利公式实战
  • 进项税借方有余额要怎么处理
  • 收到政府拨款怎么做账
  • 民办学校会计分录 百度网盘
  • 先开票还是先预约
  • 餐饮费开专票
  • 飞机票可以直接去机场买吗
  • 在Win7系统中,文件的属性包括
  • 技术合同包括哪些类型
  • 房地产企业的沙盘模型制作费会计处理
  • win10如何关闭更新并关机
  • 隐藏资源管理器窗口
  • php的数组函数
  • 若依前后端分离做的系统
  • 计算完工产品成本
  • 电子承兑可以提前贴现吗
  • 怎么配置opencv
  • 承兑汇票无法兑付
  • 发现新大陆的是麦哲伦还是哥伦布
  • ai模拟
  • 电影院是否征收文化建设事业费
  • 银行发行债券流程图
  • rabbitmq如何解决消息堆积问题
  • 轿车折旧年限为几年
  • 现代服务行业有哪些
  • 非限定性净资产相当于本年利润吗
  • 环保税的算法
  • 固定资产清理税务处理
  • 主营业务收入的明细科目怎么写
  • 发票收款人和复核人可以是一个人吗
  • 园林绿化行业的市场需求是什么
  • 零税率发票有法律效力吗
  • 公对公转账货款写成了往来款怎么办
  • 商品亏本出售分录
  • 预付卡充值可以退吗
  • 跨年取得的费用票怎么做账
  • 出口货物进项税额转出的原理
  • 安全生产费会计准则
  • 试算不平衡的原因是什么
  • 带抵扣进项分录
  • 行政事业单位计提工资怎么做账
  • 贷款服务可以抵扣进项税额吗
  • 哪些资产减值损失确认过后是可以转回的
  • sql时间类型转换
  • Linux下MySQL 5.6.27 安装教程
  • 教你怎么制作麻雀胶
  • win8.1 下载
  • ubuntu16.04输入法
  • winxp如何将两个分区合并成一个分区
  • kali渗透工具安装
  • RHEL5 Apache+Tomcat整合,同时支持jsp与php
  • Linux下which、whereis、locate、find 区别
  • 虚拟机下安装操作软件
  • w8系统怎么连接投影仪
  • linux fdb表
  • win8怎么查看系统信息
  • linux进程管理命令使用
  • unity 3d教程
  • vue项目简介
  • 深圳市国家税务局赵雨婷
  • 河北新农合怎么查询
  • 北京税务网站
  • 江西国家税务局电子税务局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设