Hadoop权威指南-笔记2

MapReduce

  1. 用mapreduce选出NCDC收集到的某年的最高气温时,map function负责 从一行数据中筛出年份和气温数据
  2. hadoop的mapreduce框架会自动把key(年份)相同的pairs合并,对数据进行sort和group
  3. 用reduce function选出每一年的最高气温

MapReduce处理的数据size是多少合适?
这里的数据size是mapreduce接受的input块大小。数据size虽然可以根据集群指定或者为每一个文件具体设置,但是,考虑到效率和负载,数据size可以设置成与hdfs block相同大小。如果size过大,每一个需要处理的input 可能会有很多block,这些blocks需要transport 到map程序所在的nodes上,增加了网络负担。设置成size of block的话,每一个maptask可以尽可能的实现data locality optimization。如果数据块过小,那么maptasks为了处理过多的数据块产生过多的任务,占用更大比例的程序整形总时间。

shuffle
mapreduce框架做的事情,maptask的output是key-value对儿。reducetask的input是key-values对儿。这中间把value merge成values的活是框架完成的。maptask和reducetask之间的data flow 叫做 “the shuffle”。tunning shuffle 会对程序的执行时间有很大的影响。

你可能感兴趣的:(学习笔记,hadoop)