Hadoop学习笔记:使用Mrjob框架编写MapReduce
1.mrjob介绍
一个通过mapreduce编程接口(streamming)扩展出来的Python编程框架。
2.安装方法
pip install mrjob,略。初学,叙述的可能不是很细致,可以加我扣扣:2690382987,一起学习和交流~
3.代码运行方式
下面简介mrjob提供的3种代码运行方式:
1)本地测试,就是直接在本地运行代码;
2)在本地模拟hadoop运行;
3)在hadoop集群上运行。
本地测试:
在脚本、数据所在的路径下(如果不在此路径下,就要把路径写完整):
python usergoodsscore_1.py sales.data > 1.data
第一个蓝框:mr的python脚本所在位置
第二个蓝框:数据所在的位置
第三个蓝框:输出结果存放的位置

命令执行后在相应的路径下就多了1.data的文件:

在本地模拟hadoop运行:
在脚本、数据所在的路径下(如果不在此路径下,就要把路径写完整):
python usergoodsscore_1.py -r local <sales.data> hadooplocal.data
第一个蓝框:mr的python脚本所在位置
第二个蓝框:数据所在的位置
第三个蓝框:输出结果存放的位置

命令执行后在相应的路径下就多了hadooplocal.data的文件:

在hadoop集群上运行:
python usergoodsscore_1.py sales.data -r hadoop > hadoop1.data

参考资料:
http://www.cnblogs.com/orchid/archive/2013/04/14/3021211.html
http://www.cnblogs.com/joyeecheung/p/3760386.html
http://blog.rainy.im/2016/03/13/python-on-hadoop-mapreduce/
Hadoop学习笔记:使用Mrjob框架编写MapReduce的更多相关文章
- Hadoop:使用Mrjob框架编写MapReduce
Mrjob简介 Mrjob是一个编写MapReduce任务的开源Python框架,它实际上对Hadoop Streaming的命令行进行了封装,因此接粗不到Hadoop的数据流命令行,使我们可以更轻松 ...
- Hadoop学习笔记—18.Sqoop框架学习
一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易.Apache Sqoop正在加 ...
- hadoop学习笔记(九):MapReduce程序的编写
一.MapReduce主要继承两个父类: Map protected void map(KEY key,VALUE value,Context context) throws IOException, ...
- Hadoop学习笔记—15.HBase框架学习(基础知识篇)
HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase是一个开源的,分布式的,多版本的,面向列的存储模型,它存储的是 ...
- Hadoop学习笔记—15.HBase框架学习(基础实践篇)
一.HBase的安装配置 1.1 伪分布模式安装 伪分布模式安装即在一台计算机上部署HBase的各个角色,HMaster.HRegionServer以及ZooKeeper都在一台计算机上来模拟. 首先 ...
- Hadoop学习笔记—16.Pig框架学习
一.关于Pig:别以为猪不能干活 1.1 Pig的简介 Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换 ...
- Hadoop学习笔记—17.Hive框架学习
一.Hive:一个牛逼的数据仓库 1.1 神马是Hive? Hive 是建立在 Hadoop 基础上的数据仓库基础构架.它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储. ...
- hadoop学习笔记(八):MapReduce
一.MapReduce编程模型 一种分布式计算框架,解决海量数据的计算问题. MapReduce将整个并行计算过程抽象到两个函数: Map(映射):对一些独立元素组成的列表的每一个元素进行制定的操作, ...
- Hadoop学习笔记—19.Flume框架学习
START:Flume是Cloudera提供的一个高可用的.高可靠的开源分布式海量日志收集系统,日志数据可以经过Flume流向需要存储终端目的地.这里的日志是一个统称,泛指文件.操作记录等许多数据. ...
随机推荐
- UVa 10986 - Sending email
题目大意:网络中有n个SMTP服务器,有m条电缆将它们相连,每条电缆传输信息需要一定的时间.现在给出信息的起点和终点,计算所需的最小时间. 有权图上的单源最短路问题(Single-Source Sho ...
- selenium Chromediver
Here we use wget to fetch the version number of the latest release, then plug the version into anoth ...
- Android 使用AsyncTask 下载图片的例子,学会使用AsyncTask
1.添加布局文件:activity_main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res ...
- iOS 开源库 之 AFNetWorking 2.x
1. 网络请求的基本知识 2. Get/Post 请求的使用 3. 文件(图片)上传 4. 断点下载 5. 其它使用细节 6. 设计优良的地方
- javascript中类的属性访问权限研究(1)
本篇文章主要针对javascript的属性进行分析,由于javascript是一种基于对象的语言,本身没有类的概念,所以对于javascript的类的定义有很多名字,例于原型对象,构造函数等,它们都是 ...
- globalToLocal的坐标变换
globalToLocal $(function() { init(); }); // globalToLocal var stage, holder1, holder2,shape; functio ...
- 黑客常用的windows注册表大全
目录 使系统没有"运行"选项 1让操作系统无"关闭系统" 选项 2让操作系统 ...
- 手机APP测试思路及测试要点
一 手机APP测试基本思路: 测试计划--测试方案--测试用例--执行: 很多小公司都没有具体的需求,项目时间也比较紧,而且流程也不是很严谨,在这样的情况之下,作为测试的我们,该怎样去对项目进行用例 ...
- HDU4738(割边)
Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 《JAVASCRIPT高级程序设计》Canvas绘图-2D上下文
Canvas是HTML5添加的新元素,这个元素负责在页面中设定一个区域,然后通过JavaScript动态的在这个区域绘制图形.<canvas>由几组API组成,除了具备基本绘图能力的2D上 ...