一 MapReduce
1 . 分片:Hadoop将MapReduce的输入数据划分为等长的小数据块,称为输入分片(input split)简称分片。hadoop为每个分片构建一个map任务。我的理解:MR程序中map的个数就是数据分片的个数,因此我们应该可以控制分片的大小来控制map的个数,至于为什么要分片,很简单,我们可以并行处理每一片的数据,肯定会比单独处理一个大文件快很多。注意,分片如果分的太细,反而会影响到工作的性能。分片的最佳大小应该与HDFS中块的大小一样,因为如果分片跨越两个数据块,很大可能性会造成分片中的部分数据需要通过网络传输来到map节点,这样的效率显然是低的
2 . combiner:集群上的带宽,限制了MR作业的数量,因此我们要尽量避免map和reduce之间的数据传输,这就需要用到combiner函数,他只是减少了从map向reduce端数据的输入,无论执行多少次combiner,都不会影响reduce最终的结果
3 . partition
4 . HDFS中块为什么要这么大:目的是为了最小化的寻址开销
5