1、应用场景介绍
在日志统计分析的过程中,我们不仅需要对数据进行排序处理,而且还需要对数据进行打散处理。特别是在对海量url进行抓取的时候,由于海量url中同一站点下的url比较多,这样为我们抓取造成困难,因此,需要将url进行打撒处理,使得url尽量的分散开。
由于map-reduce的核心就是sort,该框架会将相同的key在reduce中处理,因此,我这里利用partition对key进行重新分区,使得相同的key分散到不同的reduce中,这样就可以将数据打散。
2、partition介绍
这里先简单介绍下partition。Hadoop中为我们提供了以下几种partition:
(1)Partitioner是partitioner的基类,如果需要定制partitioner也需要继承该类。(我这里采用这种方法实现打散)