* 面试答案为LZ所写,如需转载请注明出处,谢谢。

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

1.MR意义。

MR是一个用于处理大数据的分布式离线计算框架,它采用”分而治之“的思想。

在分布式计算中,将分布式存储、分布式计算、负载均衡等复杂问题高度抽象成map和reduce两个过程。

MR存在的意义在于它使得计算更廉价,大规模数据计算不再需要高级商用机器。

其次是这个软件的现成实现可以把程序员的精力集中在业务开发上,节省开发时间

2.简述MR过程。

 [大数据面试题]hadoop核心知识点 随笔

MapReduce是一种应用于大数据离线处理的分布式计算模型。

MR过程分为 Split 、map 、Suffle、reduce 过程。

首先在MapReduce之前,需要通过Split过程将数据进行切割,切割后的数据以便于成为map的输入。

然后通过Map过程将切割后的数据分别转成KV对形式。

Shuffle过程分为partitioning、sort、grouping 三步:

  1).partitioning : 对KV进行分区(默认使用的是hash partitioner)

  2).sort : 对分区内的数据(KV对)依据Key进行排序

  3).grouping:将对相同Key的KV对合并成组。

每个组的数据分别交由各个Reduce Task进行处理。

另说一点感悟: 

关于shuffle过程,我们其实很好理解。一般处理大数据集的二次排序问题,

都是采用 "散列 + Sort" 的思路,位列便于reduce计算,还需要进行一个grouping过程。

3.hadoop和spark的都是并行计算,那么他们有什么相同和区别

先说一说区别:

首先,两者的一个显著不同就是Spark是基于内存计算的,存取数据比Hadoop的MapReduce快很多。

其次,hadoop基于MapReduce计算模型,Spark采用的是基于DAG的计算模型,MapReduce的处理过程具有一定时序性的约束,而Spark可以达到高度并行。

相同:

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄