![](https://img-blog.csdnimg.cn/2020061814412076.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MapReduce分布式并行计算框架
先分后合,分而治之
胡子球手
谦虚请教
展开
-
shuffle阶段数据的压缩机制
在shuffle阶段,可以看到数据通过大量的拷贝,从map阶段输出的数据,都要通过网络拷贝,发送到reduce阶段,这一过程中,涉及到大量的网络IO,如果数据能够进行压缩,那么数据的发送量就会少得多,那么如何配置hadoop的文件压缩呢,以及hadoop当中的文件压缩支持哪些压缩算法呢??接下来一 一细看 MapReduce的执行流程 为什么要配置压缩: MapReduce input mappe...原创 2019-11-20 08:40:21 · 2594 阅读 · 0 评论 -
MapReduce一次读取多个文件(获取数据所在文件的名称)
关键代码: 在Map代码中添加一下代码,可以获取每条数据所属的文件名 查看Hadoop支持的压缩格式 //获取所属的文件名称 FileSplit inputSplit = (FileSplit)context.getInputSplit(); String Filename = inputSplit.getPath().getName(); //FIlename是文件名称 ...原创 2019-11-19 21:13:07 · 3529 阅读 · 0 评论 -
如何能让Map端和Reduce端达到最优?
Map端的最高效率是 尽量减少环形缓冲区 的次数(减少磁盘IO 的使用次数) 如何能够减少环形缓冲区flush的次数: 1、 加大环形缓冲区的内存 2、 增大缓冲区阈值的大小 (考虑剩余的空间是不是够系统使用) 3、 对输出的进行压缩(压缩-解压的过程会消耗CPU) Reduce端的最高效率是 1尽量减少环形缓冲区flush的次数 2、尽量将所有的数据在内存中计算 在网络带宽、磁盘IO是瓶颈的前...原创 2019-11-19 21:04:11 · 2384 阅读 · 0 评论 -
MapReduce的执行流程
map阶段处理的数据如何传递给reduce阶段,是MapReduce框架中最关键的一个流程,这个流程就叫shuffle。 shuffle: 洗牌、发牌——(核心机制:数据分区,排序,分组,ComBine,合并等过程) shuffle是Mapreduce的核心,它分布在Mapreduce的map阶段和reduce阶段。一般把从Map产生输出开始到Reduce取得数据作为输入之前的过程称作shuffl...原创 2019-11-19 21:00:43 · 2974 阅读 · 0 评论 -
MapReduce并行计算框架求WordCount单词总和
**需求: 计算data.txt文档中每个单词出现的次数** zhangsan,lisi,wangwu zhaoliu,qianqi,niuba zhangsan,wangwu zhaoliu,niuba 第一步:创建maven项目 第二步:导pom.xml依赖的包 <repositories> <repository> <id...原创 2019-11-15 22:16:56 · 2486 阅读 · 0 评论