大数据面试题(三):MapReduce核心高频面试题

259 篇文章 307 订阅 ¥49.90 ¥99.00

文章目录

MapReduce核心高频面试题

一、ReduceTask工作机制

二、请描述mapReduce有几种排序及排序发生的阶段?

1、排序的分类

2、自定义排序WritableComparable

3、排序发生的阶段

三、请描述mapReduce中shuffle阶段的工作流程,如何优化shuffle阶段?

四、请描述mapReduce中combiner的作用是什么,一般使用情景,哪些情况不需要,及和reduce的区别?

五、如果没有定义partitioner,那数据在被送达reducer前是如何被分区的?

六、MapReduce怎么实现 TopN?

七、有可能使 Hadoop 任务输出到多个目录中么?如果可以,怎么做?

八、简述hadoop实现join的几种方法及每种方法的实现

1、reduce side join

2、map join

九、请简述hadoop怎样实现二级排序

十、Hadoop中RecordReader的作用是什么?

十一、给你一个1G的数据文件。分别有id,name,mark,source四个字段,按照mark分组,id排序,手写一个MapReduce?其中有几个Mapper?

1、在map端对mark排序,在reduce端对id分组

2、几个mapper


MapReduce核心高频面试题

一、ReduceTask工作机制

1、Copy阶段:ReduceTask从各个MapTask上远程拷贝一片数据,并针对某一片数据,如果其大小超过一定阈值,则写到磁盘上,否则直接放到内存中。

2、Merge阶段:在远程拷贝数据的同时,ReduceTask启动了两个后台线程对内存和磁盘上的文件进行合并,以防止内存使用过多或磁盘上文件过多。

3、Sort阶段:按照MapReduce语义,用户编写reduce()函数输入数据是按key进行聚集的一组数据。为了将key相同的数据聚在一起,Hadoop采用了基于排序的策略。由于各个MapTask已经实现对自己的处理结果进行了局部排序,因此,ReduceTask只需对所有数据进行一次归并排序即可。

4、Reduce阶段:reduce()函数将计算结果写到HDFS上。

  • 20
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 26
    评论
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lansonli

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值