<property>
<name>mapred.min.split.size</name>
<value>268435456</value>
<description>决定了每个 Input Split的最小值,也间接决定了一个Job的map 数目。
这里设置为256M,默认64M,有效减少了map的数量,因为在大数据量时,
map数量过大并不一定速度就快,而1个进程处理256M数据也是很快的</description>
</property>
<property>
<name>mapred.compress.map.output</name>
<value>true</value>
<description>打开map输出压缩以节省各节点传输的流量</description>
</property>
<property>
<name>io.sort.mb</name>
<value>250</value>
<description>map输出结果在内存占用buffer的大小,当buffer达到一定阈值,
会启动一个后台线程来对buffer的内容进行排序,然后写入本地磁盘(一个spill文件).默认100M,
有点小了,但并不是越大越好,尝试过调到400M,发现机器内存有点吃不消,又回调到250M</description>
</property>
<property>
<name>mapred.reduce.parallel.copies</name>
<value>10</value>
<description>Reduce copy数据的线程数量,默认值是5</description>
</property>
<property>
<name>mapred.job.shuffle.merge.percent</name>
<value>0.8</value>
<description>从Map节点取数据过来,放到内存,当达到这个阈值之后,
后台启动线程(通常是Linux native process)把内存中的数据merge sort,
写到reduce节点的本地磁盘;</description>
</property>
http://www.duyifan.com/?cat=1