分区器直接决定了RDD中分区的个数、RDD中每条数据经过Shuffle后进入哪个分区和Reduce的个数。...注意:
只有Key-Value类型的RDD才有分区器,非Key-Value类型的RDD分区的值是None
每个RDD的分区ID范围:0~numPartitions-1,决定这个值是属于那个分区的。...), (i,100), (j,100))
1=List((a,100), (b,100), (c,100))
2=List((d,100), (e,100), (f,100))
注意:若出现这种序列化问题...@transient
val name="a"
class CustomPartitioner(partitions: Int) extends Partitioner{
...
}
}
该问题的原因...----
数据倾斜
无论是HashPartitioner还是RangePartitioner都可能会有数据倾斜的问题产生,但是需要注意的是,出现数据倾斜是数据的原因,而不是分区器的原因,是需要单独处理的