大数据:MapReduce面试题收集(十一)

简述MapReduce的流程

Mapreduce数据倾斜原因和解决方案

https://blog.csdn.net/wypersist/article/details/79797075

MapReduce 执行过程分析

https://blog.csdn.net/WYpersist/article/details/80045044

MapReduce文件切分个数计算方法

https://blog.csdn.net/WYpersist/article/details/80044776

执行mapreduce 程序99%时,卡住了,为什么

https://blog.csdn.net/WYpersist/article/details/80202055

什么是combiner,什么情况下使用combiner,什么情况下不使用

combiner是发生在map的最后一个阶段,其原理也是一个小型的reducer,主要作用是减少输出到reduce的个数,减少reducer的输入,提高reducer的执行效率。注意:mapper的输出为combiner的输入,reducer的输入为combiner的输出。

求平均值的时候不用

聚合的时候用,因为combiner本身就只能做求和的事

我们在开发分布式计算job的时候,是否可以去掉reduce阶段

说一下Mapreduce 实现思路

说一下MapReduce是如何优化的

怎么减少reducermap拉取数据量

简述MapReduce shuffle过程

说说MapReduce shuffle性能调优

MapReduce 自定义序列化数据类

MapReduce如何优化,提升性能

MapReduce数据倾斜什么,有什么影响,怎么解决  

MapReduce wordcount简单流程

编写map类实现Mapper操作,编写reduce类实现Reduce操作,编写主函数实现参数设置和执行。

1、 编写map类实现Mapper操作

2、编写reduce类实现Reduce操作

3、编写主函数实现参数设置和执行

4、引用的若干个类

MapReduce计算框架解药步骤

Map阶段:

1)HDFS中将输入值传输到Mapper节点

http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html

2)Mapper

3)Partitioner

4)Combiner

Shuffle阶段

 shuffle阶段要做的事就是保证Mapper输出的数据传输到合适的Reducer进行处理,如下图所示:

 shuffle阶段,每个Reducer都会使用HTTP协议从Mapper节点获得自己的划分(Reducer通过Application Master来获取自己应该查询哪些Mapper节点来获取自己划分的信息,因为每个Mapper实例完成后,会通知Application Master运行阶段产生的划分)

Reduce 阶段

1)Reducer

根据自己写的reduce程序对数据进行处理(如wordcount中将每个单词出现的次数加起来得到总和)

    2)将处理结果输出到HDFS

通过OutputFormat,默认是TextOutputFormat

http://hadoop.apache.org/docs/stable/api/index.html

http://hadoop.apache.org/docs/stable/api/index.html

Mapreduce 统计 pvuv

Mapreduce 性能优化

http://www.aboutyun.com/thread-15522-1-1.html

http://www.aboutyun.com/thread-15660-1-1.html

https://www.cnblogs.com/datacloud/p/3591981.html

Mapreduce 二次排序

https://blog.csdn.net/WYpersist/article/details/80213366

猜你喜欢

转载自blog.csdn.net/wypersist/article/details/80262315