1.传统并行框架:实时细粒度计算,计算密集型。
MapReduce:非实时批处理,数据密集型。
2.MapReduce特点:计算向数据靠拢,分而治之。
3.每一个分片都会生成一个map任务。map数量由产生分片数量来决定。一般,一个块分为一个分片。
4.reduce数量取决于集群中reduce任务槽的数量。
5.分片和分区?
分片:对一个大的数据集进行切分,split得到的结果称为分片。这种结果是一个逻辑上的定义,而不是物理上的。每一个分片都对应一个Map任务,有多少个分片就会有多少个Map。(默认一个块大小为 一个分片大小。这样不涉及在不同机器上的问题 。)
分区:一般采用hash进行分区。Map之后得到的一个文件里的数据都是分好区,排好序的,然后进行下一步。(暂时是这么理解。)