![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mapreduce
Nougats
这个作者很懒,什么都没留下…
展开
-
Mapreduce 优化策略
优化策略优化Map和Reducer数量。输入,大文件优于小文件。减少网络传输(尤其是shuffle阶段):压缩或combiner设置相关参数。map端:Map输出并非简单输出到磁盘,而是缓冲的方式写入内存并做预排序。当缓冲区满了则刷入磁盘。 缓冲区占用内存空间的大小,此处可以调优 Mapreduce.task.io.sort.mb 设置缓冲区大小mapreduce.map.sort.spi原创 2017-04-29 23:34:11 · 1238 阅读 · 0 评论 -
MapReduce 计数器
MapReduce计数器(Counter)是用来记录job的执行进度和状态的。它的作用可以理解为日志。我们通常可以在程序的某个位置插入计数器,用来记录数据或者进度的变化情况,它比日志更便利进行分析。 计数器为我们提供一个窗口,用于观察 MapReduce Job 运行期的各种细节数据。对MapReduce性能调优很有帮助,MapReduce性能优化的评估大部分都是基于这些 Counter 的数值表原创 2017-05-03 12:10:45 · 630 阅读 · 0 评论 -
MapReduce setup()和cleanup()方法
setup() 此方法被MapReduce框架仅且执行一次,在执行Map任务前,进行相关变量或者资源的集中初始化工作。若是将资源初始化工作放在方法map()中,导致Mapper任务在解析每一行输入时都会进行资源初始化工作,导致重复,程序运行效率不高! cleanup() 此方法被MapReduce框架仅且执行一次,在执行完毕Map任务后,进行相关变量或资源的释放工作。若是将释放资源工作放入方法原创 2017-05-01 10:09:03 · 2270 阅读 · 0 评论 -
Mapreduce shuffle简单过程
shuffle(洗牌)把mapper阶段的结果拷贝到reducer阶段 分为两部分,mapshuffle,reduceshuffle - mapshuffle:map的输出结果输出到内存的缓冲区,缓冲区数量和map数量对应,缓冲区有百分比,map写入缓冲区超过了这个百分比,就会自动刷入map的机器本地磁盘 内存在这里做了一些操作:分区(和reduce数量一致),排序,map的输出结果不断地从缓原创 2017-05-01 10:08:20 · 488 阅读 · 0 评论