代码改变世界

随笔分类 -  Hadoop

mapreduce优化总结

2016-03-03 23:21 by Mandylover, 7718 阅读, 收藏,
摘要: 集群的优化 1、合理分配map和reduce任务的数量(单个节点上map任务、reduce任务的最大数量) 2、其他配置 io.file.buffer.size hadoop访问文件的IO操作都需要通过代码库。因此,在很多情况下,io.file.buffer.size都被用来设置缓存的大小不论是对硬 阅读全文

Hadoop1.x与Hadoop2的区别

2016-03-02 23:50 by Mandylover, 285 阅读, 收藏,
摘要: Hadoop2相比较于Hadoop1.x来说,HDFS的架构与MapReduce的都有较大的变化,且速度上和可用性上都有了很大的提高,Hadoop2中有两个重要的变更: 1.HDFS的NameNodes可以以集群的方式布署,增强了NameNodes的水平扩展能力和可用性; 2.MapReduce将J 阅读全文

Hadoop中Combiner的作用

2016-03-01 09:22 by Mandylover, 1833 阅读, 收藏,
摘要: 1.Partition 把 Map任务输出的中间结果按 key的范围划分成 R份( R是预先定义的 Reduce任务的个数),划分时通常使用hash函数如: hash(key) mod R,这样可以保证某一段范围内的key,一定是将会由一个Reduce任务来处理,这样可以简化 Reduce获取计算数 阅读全文

Hapoop原理及MapReduce原理分析

2016-03-01 09:19 by Mandylover, 842 阅读, 收藏,
摘要: Hapoop原理 Hadoop是一个开源的可运行于大规模集群上的分布式并行编程框架,其最核心的设计包括:MapReduce和HDFS。基于 Hadoop,你可以轻松地编写可处理海量数据的分布式并行程序,并将其运行于由成百上千个结点组成的大规模计算机集群上。 基于MapReduce计算模型编写分布式并 阅读全文

MapReduce自定义二次排序流程

2016-03-01 08:59 by Mandylover, 367 阅读, 收藏,
摘要: 每一条记录开始是进入到map函数进行处理,处理完了之后立马就入自定义分区函数中对其进行分区,当所有输入数据经过map函数和分区函数处理完之后,就调用自定义二次排序函数对其进行排序。 MapReduce处理数据的大概简单流程:首先,MapReduce框架通过getSplit方法实现对原始文件的切片之后 阅读全文

MapReduce:Shuffle过程的流程

2016-03-01 08:47 by Mandylover, 534 阅读, 收藏,
摘要: Shuffle过程是MapReduce的核心,Shuffle描述着数据从map task输出到reduce task输入的这段过程。 1.map端 简单些可以这样说,每个map task都有一个内存缓冲区,存储着map的输出结果,当缓冲区快满的时候需要将缓冲区的数据以一个临时文件的方式存放到磁盘,当 阅读全文