随手记点-mapreduce1
来源:互联网 发布:淘宝企业店铺提现 编辑:程序博客网 时间:2024/05/17 16:57
1.What is MapReduce?
We want to count all the books in the library.You count shelf #1,I count up shelf #2.That is map.The more people we get, the faster it goes.
Now we get together and add our individual count. That’s reduce.
2.整个MapReduce框架分为几个阶段,每个阶段的作用?
答:整个MapReduce的框架包含两个阶段,分别是map阶段,reduce阶段。其中Map阶段是一个映射的过程,负责数据的过滤及分发;Reduce阶段是一个有序合并的过程,负责计算归并。
3.MapReduce框架中哪几个部分是可以自定义的?
答:map、reduce、combine和partition都是可以自定义的。
4.map只和一个kv有关是什么意思?reduce和一个key的多个value有关是什么意思?
答:map的输入时一个kv对,里面的操作也是只和这个kv相关的。reduce处理的是一个key对应的全部value,所有一个key和多个value相关。
5.combine和reduce的区别?
答:combine拥有的数据只是每个mapper处理完成之后的数据,是将中间结果进行合并,以减少reducer输入的数据量。reduce处理的是所有的相关数据,最后的输出是整个程序的运算结果。从这个角度看,combine和reduce处理的输入和输出都是不一样的。
6.map为啥可以并行处理?reduce为啥可以并行处理?
答:map函数处理的是一个kv对,不同的map之间 的操作是不相互影响的,当然可以在同一时间内启动多个map的操作,即并行处理。由于分区partition的原因,每个reduce处理的是自己的一个key对应的全部value,不同的key被分配给reduce,reduce之间不相互影响,所以可以并行操作。
7.shuffle是数据从一个维度变成另一个维度的聚合,什么意思?什么叫另一个维度?
答:这句话的意思是shuffle将数据进行规整化处理,即将无序的数据变得有序,得到的输出结果是将kv对进行规整化之后的结果。即把相同partition下相同key值的kv对进行vaule的组合,map端的shuffle产生的结果作为map端的最终输出,是partiton下key有序的数据,和之前无序的kv对时完全不一样的,即是两个不同的维度。
8.shuffle的数据来源,数据目的地,瓶颈是什么?
答:shuffle的数据来源是map的输出,数据目的地是reduce端的输入,瓶颈是磁盘IO开销和内存开销。
- 随手记点-mapreduce1
- 随手记点-mapreduce3
- 随手记点-mapreduce4
- 随手记点-mapreduce2
- 随手记点-mapreduce5
- 随手记点-mapreduce6
- 随手记几个技术点
- SDL2画点 随手记
- MapReduce1-1: 提高MapReduce性能的七点建议
- .net随手记----SqlParameter模糊查询注意点
- 随手记
- 随手记
- 随手记
- 随手记
- 随手记
- 随手记
- 随手记
- 随手记
- 第二周项目6-设计倒三角形
- IOS定位
- Git学习笔记(三)——Git远程版本库的搭建
- JAVA集合类
- 个人web项目——悦动web网站
- 随手记点-mapreduce1
- 经典算法——连续子数组最大和问题
- 半年总结
- 关于文件、网络传输以及内存存储的大小端问题
- 【Linux】一张图让你读懂Linux内核运行原理
- 回文判断
- PAT (Advanced Level) Practise 1045 Favorite Color Stripe (30)
- 上海javascript的面试题
- mysql 时间格式存储类型为时间戳转换为年月日