2009年10月27日

MapReduce做了多余的事情

摘要: MapReduce做了多余的事情本文假定读者已了解MapReduce。MapMap阶段一般做三件事情:1. 切分输入2. 变换输入为输出3. 执行可选的Combine如果要说哪项是多于的,大概就是Combine了。Combine在很多时候可以减少传递给Reduce的数据量;但是,也有一些时候,Combine只是空耗时间:1. Map输入中重复Key很多时,Combine会提高性能2. Map输入中重复Key很少时,Combine会降低性能3. 网络速度很快时,Combine提高的性能有限,甚至不会提高性能作为总结:用不用Combine,一方面取决于数据的特征(重复Key的多寡);另一方面就是网 阅读全文

posted @ 2009-10-27 15:25 能发波 阅读(131) 评论(0) 推荐(0)

MapReduce Key Revert ——特定数据模式的负载均衡

摘要: 符号、记法其中{k,v}指一个Key,Value对,{..} 中第一个分量是Key,第二个是Value。[e]指一个集合,其中的元素为e。[{k,v}]就指一个{k,v}的集合。问题给定巨大的集合S=[{k1,k2}],对S中每个k1,计算k1相同,而k2不同的元素个数。生成[{k1,distinct_count([k2])}]。其中S数据的特点是:1. 不同k1的数目很少(少于1K,很可能小于机器数目);2. 不同k2的数目很大(大于20M);3. 总的记录数目很大(大于1G);4. k1的分布很不均匀,最频繁的k1,其记录数占到总数的1/3,对应的独立k2几乎包括整个k2集合;5. k2的 阅读全文

posted @ 2009-10-27 11:45 能发波 阅读(216) 评论(0) 推荐(0)

导航