
MapReduce
分布式离线计算框架
weixin_43563705
将自己的所学到的知识分析给大家
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MapReduce:出租车数据案例
计算出10月1日这天每小时的载客量CarMapper:package com.hadoop.map;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import java.io.IOException...原创 2020-01-06 19:39:58 · 4419 阅读 · 3 评论 -
MapReduce综合练习案例(把这练习会了MapReduce代码你就全搞定了)
提供两个文件:information.txt://爱好 专业 id游戏 大数据 1Null Java 3学习 Null 4逛街 全栈 2student.txt://id 姓名 性别1 张三 女2 李四 男3 王五 女4 赵六 男题目要求information.txt 上传到Hdfsstudent.txt 放在本地通过distribute读取hdfs上的数据...原创 2019-11-26 17:57:43 · 7532 阅读 · 3 评论 -
自定义inputFormat合并小文件
inputFormat合并小文件1.需求:无论hdfs还是mapreduce,对于小文件都有损效率,实践中,又难免面临处理大量小文件的场景,此时,就需要有相应解决方案2.分析小文件的优化无非以下几种方式:1、在数据采集的时候,就将小文件或小批数据合成大文件再上传HDFS2、在业务处理之前,在HDFS上使用mapreduce程序对小文件进行合并3、在mapreduce处理时,可采用co...原创 2019-11-19 09:06:59 · 4972 阅读 · 1 评论 -
MapReduce:Map端Join算法实现
Map端Join算法实现1.原理阐述:适用于关联表中有小表的情形;可以将小表分发到所有的map节点,这样,map节点就可以在本地对自己所读到的大表数据进行join并输出最终结果,可以大大提高join操作的并发度,加快处理速度2.实现示例–先在mapper类中预先定义好小表,进行join–引入实际场景中的解决方案:一次加载数据库或者用资源文件orders.txt---->放在本...原创 2019-11-18 20:59:39 · 5746 阅读 · 1 评论 -
reduce端join与map端join算法实现
1、reduce端join算法实现需求:订单数据表t_order:iddatepidamount100120150710P00012100220150710P00012100220150710P00023商品信息表t_product:idpnamecategory_idpricep0001小米 5100...原创 2019-11-18 20:51:34 · 4924 阅读 · 1 评论 -
Hadoop当中支持的压缩算法
压缩好处文件压缩有两大好处,节约磁盘空间,加速数据在网络和磁盘上的传输前面hadoop的版本经过重新编译之后,可以看到hadoop已经支持所有的压缩格式了,剩下的问题就是该如何选择使用这些压缩格式来对MapReduce程序进行压缩可以使用bin/hadoop checknative 来查看编译之后的hadoop支持的各种压缩,如果出现openssl为false,那么就在线安装一下依赖包b...原创 2019-11-18 16:20:33 · 6052 阅读 · 3 评论 -
MapReduce一次读取多个文件(新手都能看懂)
MoreFileMappackage com.czxy.demo01;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import org.apache.hadoop.mapreduce.lib.inpu...原创 2019-11-18 14:59:50 · 7352 阅读 · 2 评论 -
MapReduce面试题
MapReduce核心思想map负责切分,reduce负责合并(先分后合,分而治之)偏移量每行的行首到首行行首的距离Suffle包含哪些步骤分区(partition)----------->排序(sort)------------>combine----------->分组(group)MR从读取数据开始到将最终结果写入HDFS经过哪些步骤第一步:inputform...原创 2019-11-18 08:16:44 · 6664 阅读 · 2 评论 -
MapReduce调优效率
Map的最终效果是什么样(如何让Map达到最优)Map端的最高效率是:尽量减少环形缓冲区flush的次数(减少磁盘IO 的使用次数)如何能够减少环形缓冲区flush的次数:1、加大环形缓冲区的内存2、增大缓冲区阈值的大小 (考虑剩余的空间是不是够系统使用)3、对输出的进行压缩(压缩-解压的过程会消耗CPU)Reduce端的最高效率是:尽量减少环形缓冲区flush的次数1、尽量将所有...原创 2019-11-18 08:07:36 · 6168 阅读 · 1 评论 -
MapTask运行机制详解以及Map任务的并行度,ReduceTask 工作机制以及reduceTask的并行度,MapReduce总体工作机制
MapTask运行机制详解整个Map阶段流程大体如图所示简单概述inputFile通过split被逻辑切分为多个split文件,通过Record按行读取内容给map(用户自己实现的)进行处理,数据被map处理结束之后交给OutputCollector收集器,对其结果key进行分区(默认使用hash分区),然后写入buffer,每个map task都有一个内存缓冲区,存储着map的输...原创 2019-11-15 09:52:10 · 7964 阅读 · 2 评论 -
MapReduce的combiner
MapReduce的combiner每一个 map 都可能会产生大量的本地输出,Combiner 的作用就是对 map 端的输出先做一次合并,以减少在 map 和 reduce 节点之间的数据传输量,以提高网络IO 性能,是 MapReduce 的一种优化手段之一。combiner 是 MR 程序中 Mapper 和 Reducer 之外的一种组件combiner 组件的父类就是 Red...原创 2019-11-14 16:52:14 · 6806 阅读 · 2 评论 -
MapReduce当中的计数器
MapReduce当中的计数器计数器是收集作业统计信息的有效手段之一,用于质量控制或应用级统计计数器还可辅助诊断系统故障。如果需要将日志信息传输到map 或reduce 任务, 更好的方法通常是看能否用一个计数器值来记录某一特定事件的发生。对于大型分布式作业而言,使用计数器更为方便。除了因为获取计数器值比输出日志更方便,还有根据计数器值统计特定事件的发生次数要比分析一堆日志文件容易得多。...原创 2019-11-14 16:49:00 · 5841 阅读 · 2 评论 -
MapReduce的分区与ReduceTask的数量
MapReduce的分区与ReduceTask的数量在MapReduce中,通过指定分区,会将同一个分区的数据发送到同一个reduce中,例如为了数据的统计,可以把一批类似的数据发 送到同一个reduce当中去,在同一个reduce中统计相同类型的数据,就可以实现类似数据的分区,统计等直观的说就是相同类型的数据,送到一起去处理,在reduce当中默认分区只有1个。MapReduce当中的分区...原创 2019-11-14 16:30:35 · 8313 阅读 · 2 评论 -
MapReduce工作流程原理,MapReduce程序运行模式
MapReduce工作流程原理Map的输出 是key,value的 listReduce的输入是key。value的listMapReduce核心思想分而治之,先分后和(只有一个模型) Map负责数据拆分 map: [k1,v1] → [(k2,v2)]Reduce负责数据合并 reduce: [k2, {v2,…}] → [k3, v3]Mapreduce的输入是一个目录,那么...原创 2019-11-14 16:16:47 · 7558 阅读 · 2 评论 -
MapReduce在集群中使用
MapReduce在集群中使用上传数据数据格式准备如下:cd /export/serversvim wordcount.txthello,world,hadoophello,hive,sqoop,flumekitty,tom,jerry,worldhadoop把创建的文件上传到HDFS上hdfs dfs -mkdir /wordcount/hdfs dfs -put wo...原创 2019-11-14 16:04:47 · 6312 阅读 · 1 评论 -
分布式计算框架MapReduce基本理解,使用MapReduce进行求每个单词的总和
什么是计算框架?是指实现某项任务或某项工作从开始到结束的计算过程或流的结构。用于去解决或者处理某个复杂的计算问题。什么是并行计算框架?是指为更快的计算某项任务或某项工作,将计算程序分发到多台服务器上,使每个服务器计算总任务的一部分,多台服务器同时计算的框架。什么是分布式计算?分布式计算:是一种计算方法,是将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,...原创 2019-11-13 20:57:27 · 6035 阅读 · 3 评论 -
Hadoop:MapReduce工作流程最详细解释(图解)小白都能看懂的流程
MapReduce工作流程最详细解释MapReduce是我们再进行离线大数据处理的时候经常要使用的计算模型,后续还会有更新请耐心等待原创 2019-11-11 19:46:59 · 9294 阅读 · 3 评论