说明:将相同numPars分到一个分区
class SouGouPartition(numPars : Int) extends Partitioner{
override def numPartitions: Int = numPars
override def getPartition(key: Any): Int = {
var code = key.hashCode % numPartitions
if (code < 0) {
code + numPartitions
} else {
code
}
}
override def hashCode(): Int = numPartitions
override def equals(obj: scala.Any): Boolean =obj match {
case tvplay : SouGouPartition =>
tvplay.numPartitions == numPartitions
case _ =>
false
}
}