MapReduce
Map/Reduce是一个用于大规模数据处理的分布式计算编程模型,用户在使用时,需要定义Map和Reduce函数。
map函数用来处理原始数据(初始键值对)以生成一批中间的key/value对,reduce函数将所有这些中间的有着相同key的values合并起来。
kismetG
HelloWorld
展开
-
MapReduce (8)--MapReduce 自定义outputFormat
1 需求现在有一些订单的评论数据,需求,将订单的好评与差评进行区分开来,将最终的数据分开到不同的文件夹下面去,数据内容参见资料文件夹,其中数据第九个字段表示好评,中评,差评。0:好评,1:中评,2:差评2 分析程序的关键点是要在一个mapreduce程序中根据数据的不同输出两类结果到不同目录,这类灵活的输出需求可以通过自定义outputformat来实现3 实现实现要点:...原创 2019-11-19 10:36:28 · 1482 阅读 · 0 评论 -
MapReduce (7)--MapReduce 自定义inputFormat合并小文件
无论hdfs还是mapreduce,对于小文件都有损效率,实践中,又难免面临处理大量小文件的场景,此时,就需要有相应解决方案下面我们在业务处理之前,在HDFS上使用mapreduce程序对小文件进行合并,自定义一个InputFormat改写RecordReader,实现一次读取一个完整文件封装为KV在输出时使用SequenceFileOutPutFormat输出合并文件上代码!...原创 2019-11-19 09:12:06 · 1548 阅读 · 0 评论 -
MapReduce(6)--MapReduce reduce端join与map端join算法实现
1、reduce端join算法实现1.txt:1001,20150710,p0001,21002,20150710,p0002,31002,20150710,p0003,32.txtp0001,小米5,1000,2000p0002,锤子T1,1000,3000通过将关联的条件作为map输出的key,将两表满足join条件的数据并携带数据所来源的文件信息,发往同一个redu...原创 2019-11-18 22:28:54 · 1357 阅读 · 0 评论 -
MapReduce(5)--MapReduce shuffle阶段数据的压缩机制
在shuffle阶段,可以看到数据通过大量的拷贝,从map阶段输出的数据,都要通过网络拷贝,发送到reduce阶段,这一过程中,涉及到大量的网络IO,如果数据能够进行压缩,那么数据的发送量就会少得多。文件压缩有两大好处,节约磁盘空间,加速数据在网络和磁盘上的传输hadoop支持的压缩算法: 压缩格式 工具 算法 文...原创 2019-11-18 22:05:59 · 1607 阅读 · 0 评论 -
MapReduce(4)--MapReduce 统计求和,排序
1.统计求和,需求:统计每个手机号的上行流量总和,下行流量总和,上行总流量之和,下行总流量之和文件:13631579850 13726230503 00-FD-07-A4-72-B8:CMCC 120.196.100.82 i02.c.aliimg.com 游戏娱乐 24 27 2481 24681 20013631579950 13826544101 5C-0E-8B-C7-F1...原创 2019-11-18 21:55:47 · 3502 阅读 · 0 评论 -
MapReduce(3)--分布式计算框架MapReduce初体验
1.pom准备2.定义一个mapper类3.定义一个reducer类-----------------------------------------------------------------------------------------------------------------此上与本地的MapReduce无任何区别,参照:https://blog.csdn.n...原创 2019-11-14 11:19:18 · 1738 阅读 · 0 评论 -
MapReduce(2)--分布式计算框架MapReduce初体验(本地计算)
1.需求:在给定的文本文件中统计输出每一个名字出现的总次数数据准备:ttt.txtzhangshan,lisi,wangwu,zhaoliu,zhangshan,zhangshan,zhangshan,zhangshan,wangwu,wangwu,wangwu,zhaoliu,zhaoliu,zhaoliu,zhangshanpom 文件准备:<r...原创 2019-11-13 17:48:17 · 1593 阅读 · 0 评论 -
MapReduce(1)--分布式计算框架MapReduce介绍
Hadoop组成 Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统,对海量数据的存储。 Hadoop MapReduce:一个分布式的资源调度和离线并行计算框架。 Hadoop Yarn:基于HDFS,用于作业调度和集群资源管理的框架。什么是计算框架? 是指实现某项任务或某项工作从开始到结束的计算过程或流的...原创 2019-11-13 16:50:42 · 1784 阅读 · 1 评论