MRJob 极速入门教程,使用Python玩转Hadoop
想要Hadoop乖巧地运行Python程序,学习mrjob可能是最直接、最简单的方法了,你甚至都不要按安装部署Hadoop集群。mrjob拥有很多优秀的特性比如:
支持多步骤的MapReduce任务工作流
支持内嵌、本地、远程亚马逊以及Hadoop
调试方便不需要任务环境支持
本教程通过 python 中 mrjob 模块来调用 hadoop 处理数据。通过本次实验,你可以初步入门mrjob,轻松编写mr来使用hadoop。主要知识点:
Python MRJob模块的安装
Hadoop——Python各模块介绍
使用MRJob实现文本统计
Python MRJob的运行方式
重写MRJob函数实现复杂数据处理
效果展示。该展示数据含义是通过mrjob将每个用户(cuid)看过哪些电影(vid)进行统计并输出。
mrjob支持python2和python3 。mrjob可以通过pip直接安装,也可以通过下载源码通过setup.py安装,可参考mrjob安装说明。 本实验中,使用shiyanlou账户通过sudo权限进行安装。pip安装指令:
目前常见的Python框架有以下几个,这里再简单介绍一下各框架的大体特点,想了解更多可去博客查阅。 Hadoop Streaming。提供了使用其他可执行程序来作为Hadoop的mapper或者reduce的方式,必须使用规定的语义从标准输入读取数据,然后将结果输出到标准输出。直接使用Streaming 的一个缺点是当reduce的输入是按key分组的时候,仍然是一行行迭代的,必须由用户来辨识key与key之间的界限。
mrjob。开源的Python框架,封装Hadoop的数据流,并积极开发Yelp的。由于Yelp的运作完全在亚马逊网络服务,mrjob的整合与EMR是令人难以置信的光滑和容易(使用 boto包)。
dumbo。同样使用Hadoop流包装的框架。dumbo出现的较早,但由于缺少文档,造成开发困难。这也是不如mrjob的一点。dumbo通过typedbytes执行序列化,能允许更简洁的数据传输,也可以更自然的通过指定JavaInputFormat读取SequenceFiles或者其他格式的文件
hadoopy。是一个兼容dumbo的Streaming封装,也使用typedbytes序列化数据,并直接把 typedbytes 数据写到HDFS。它有一个很棒的调试机制, 在这种机制下它可以直接把消息写到标准输出而不会干扰Streaming过程。它和dumbo很相似,但文档要好得多。
pydoop。与其他框架相比,pydoop 封装了Hadoop的管道(Pipes),这是Hadoop的C++ API。 正因为此,该项目声称他们能够提供更加丰富的Hadoop和HDFS接口,以及一样好的性能。需要注意de所有的输入输出都必须是字符串。
其他 -happy、Disco、octopy、Mortar、Luigi 等。
后面便是使用mrjob实现词组统计以及mrjob多种运行方式等等的介绍。完整的教程已经配套的练习可以在实验楼的主站去学习。
说明:该教程仅限实验楼会员学习。因为是刚上线的新课,目前还1天的免费时间,任何人都可以学习;感兴趣的同学可以:点我学习
相关推荐:
MyBatis 框架基础入门
Python3 实现火车票查询工具
Python3 实现色情图片识别
高德API + Python 解决租房问题
Python 破解验证码
更多免费教程,请进入shiyanlou.com
MRJob 极速入门教程,使用Python玩转Hadoop相关推荐
- 用python玩转hadoop_MRJob 极速入门教程,使用Python玩转Hadoop
想要Hadoop乖巧地运行Python程序,学习mrjob可能是最直接.最简单的方法了,你甚至都不要按安装部署Hadoop集群.mrjob拥有很多优秀的特性比如: 支持多步骤的MapReduce任务工 ...
- 自己的电脑上怎么用python3.7_python 3.7极速入门教程9最佳python中文工具书籍下载...
筛选了2年内优秀的python书籍,个别经典的书籍扩展到5年内. python现在的主流版本是3.7(有明显性能提升,强烈推荐) 3.6, 不基于这两个或者更新版本的书,慎重选择.很多库已经不提供py ...
- hadoop python入门_MRJob 极速入门,Python玩转Hadoop你会么?
image 想要Hadoop乖巧地运行Python程序,学习mrjob可能是最直接.最简单的方法了,你甚至都不要按安装部署Hadoop集群.mrjob拥有很多优秀的特性比如: 支持多步骤的MapRed ...
- python入门教程 官方-Python自学入门?
如果你是零基础入门 Python 的话,建议初学者至少达到两个目标: 会用,理解. 会用 通过 Python 入门教程,学习 Python 的语法,熟悉 Python 标准库的使用. 目前 Pytho ...
- python儿童入门教程视频-Python入门视频全套教程
"人生苦短,我用python",相信很多想学python的同学都听过这句话.几个月前,IEEE Spectrum发布了第四届顶级编程语言交互排行榜,Python超过了Java.PH ...
- Python10分钟入门教程,Python入门神图一张
这篇文章主要介绍了Python 10分钟入门教程,分享一张Python入门神图一张,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 | 初试牛刀 假设你希望学习Python这门语言,却苦于找不到一个 ...
- python新手入门教程思路-Python新手入门教程_教你怎么用Python做数据分析
Python新手入门教程_教你怎么用Python做数据分析 跟大家讲了这么多期的Python教程,有小伙伴在学Python新手教程的时候说学Python比较复杂的地方就是资料太多了,比较复杂.很多网上 ...
- python搞笑教程_Python10分钟入门教程,Python入门神图一张
这篇文章主要介绍了Python 10分钟入门教程,分享一张Python入门神图一张,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 | 初试牛刀 假设你希望学习Python这门语言,却苦于找不到一个 ...
- Arduino极速入门教程——两篇文章让你会用Arduino(下)
接上篇关于Arduino基础环境配置.界面介绍和C语言基础,这一篇的内容为具体如何在Arduino中进行编程. 在VSCode上配置Arduino 什么是VSCode VSCode,即Visual S ...
最新文章
- Session 存储方式
- 机器学习(六)——优化器
- 实体类dao接口mysql_利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件...
- [Python图像处理] 十一.灰度直方图概念及OpenCV绘制直方图
- 深度残差收缩网络:(五)实验验证
- [置顶]献给写作者的 Markdown 新手指南
- 用python写出九九乘法表
- ajax返回功能,jquery – 记得ajax在点击返回按钮时添加的数据
- 如何在Byte[]和String之间进行转换
- L1-027 出租 (20 分)—团体程序设计天梯赛
- 使用wireshark对HTTPS解密
- 万年历显示c语言百度文库,C语言万年历
- 适用于 Windows 操作系统的远程服务器管理工具 (RSAT)
- 作为应届生到底是去大的IT公司好,还是去小的IT公司好?
- 图像处理gamma修正(伽马γ校正)的原理和实现算法
- win10热点 ip配置失败
- python学习(二)User-Agent
- 支付网关潜藏黑客!32万多含CVV码的财务信息被盗
- 一个“精神病”人的世界观——我看完了,然后陷入深深的不安中……
- 【手绘漫画】图解LeetCode之旋转链表(LeetCode 61题)
热门文章
- 每日求一录~20170704
- [vim]高亮查找匹配
- 手机是如何实现自动对焦的?
- java中怎么进行字符串替换?
- c#中 cmd.parameters.add() 方法的问题
- 机器学习入门------pandas
- Iveely搜索引擎二三题,用你的智慧来解决吧!
- c# 读取txt方法
- docker - 启动container时出现 [warning] : ipv4 forwarding is disabled. networking will not work
- 类与类集合的基本使用