
MR
Auraros
gdut一个正在艰苦转行的孩子
展开
-
MapReduce1入门概述
MapReduce入门概述更多整理都在我的github上:Auraros欢迎大家。Mapreduce定义**MapReduce是一种编程模式。**用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)“和"Reduce(归约)”,是它们的主要思想。当前的实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。它的核心功能是将用户编写的业务逻辑代码和自带的组件组合成为一个完整的分布式运算程原创 2020-10-13 16:22:49 · 158 阅读 · 0 评论 -
MapReduce8 优化
MapReduce8 优化更多整理都在我的github上:Auraros欢迎大家。MapReduce跑得慢的原因MapReduce程序效率的瓶颈在于两点:计算机性能和 I/O操作计算机性能CPU、内存、磁盘健康、网络I/O操作数据倾斜Map和Reduce设置不合理Map运行时间太长,导致Reduce等待过久小文件过多大量的不可分块的超大文件spill次数过多Merge次数过多等MapReduce优化方案数据输入优化大量小文件在数据输入的时候进行处理1. 合并小文件,在执原创 2020-10-27 19:00:42 · 133 阅读 · 0 评论 -
MapReduce6 MapJoin和ReduceJoin
MapReduce6 MapJoin和ReduceJoin更多整理都在我的github上:Auraros欢迎大家。其实Join就是Mysql中表的连接操作,后面使用hive还是一条sql语句就可以解决了,这里反正比较麻烦,但是要了解一下Reduce Join原理Map端的主要工作为来自不同表或文件的key/value对,打标签以区别不同来源的记录。然后用连接字段作为key,其余部分和新加的标志作为value,最后进行输出Reduce端主要工作在Reduce端以连接字段作为key的分组已经完原创 2020-10-27 16:37:31 · 220 阅读 · 0 评论 -
MapReduce5 自定义Shuffle机制(超详细)
MapReduce5 自定义Shuffle机制更多整理都在我的github上:Auraros欢迎大家。前面已经学过大致的Shuffle流程了,不过那只是介绍了整个Shuffle的流程,还没有介绍如何改变Shuffle过程来满足我们的业务需要回顾Shuffle机制MapReduce确保每个Reduce的输入都是按照Key排序的,系统指向排序的过程称为Shuffle。具体的Shffle过程详解,如下:MapTask收集我们的map()方法输出的kv对,放到内存缓存中从内存缓冲区不原创 2020-10-27 02:39:22 · 381 阅读 · 0 评论 -
MapReduce4 OutputFormat数据输出
MapReduce4 OutputFormat数据输出更多整理都在我的github上:Auraros欢迎大家。OutputFormat接口实现类OutputFormat是MapReduce输出的基类,所有实现Mapreduce输出都实现了OutputFormat接口,下面是几个常见的接口TextOutputFormatSequenceFileOutputFormat自定义输出TextOutputFormat文本输出TextoutputFormat默认的输出格式是TextOutput原创 2020-10-25 16:46:22 · 210 阅读 · 0 评论 -
MapReduce3 InputFormat数据输入(超详细)
MapReduce3 InputFormat数据输入更多整理都在我的github上:Auraros欢迎大家。输入文件路径指定FileInputFormat类中提供了四种静态方法来设定Job的输入路径:public static void addInputPath(Job job,Path path) throws IOExceptionpublic static void addInputPaths(Job job, String commaSeparatedPaths) throws IOExc原创 2020-10-25 13:35:35 · 1044 阅读 · 0 评论 -
MapReduce2 MapReduce工作机制
MapReduce2 MapReduce工作机制更多整理都在我的github上:Auraros欢迎大家。Job提交阶段首先客户端回对我们提交的文件进行逻辑上的切片, 切片的大小是默认数据块的大小 (Yarn模式是128M,本地模式是32M)。 当切片完成以后,客户端会向MrAppliactionMaster提交信息,如果是Yarn模式的话会提交(切片信息,XML配置信息,jar包)如果是本地模式的话则提交(切片信息,XML配置信息)。当信息提交完毕以后Mr. ApplicationMaster会根据原创 2020-10-24 23:20:10 · 429 阅读 · 0 评论