Spark | 分区器Paritioner

Spark中默认提供两种分区器(partitioner):

哈希分区器(HashPartitioner):

哈希分区器会根据key-value的键值key的hashcode进行分区,即对于给定的key,计算其hashCode,并除于分区的个数取余,如果余数小于0,则用余数+分区的个数,最后返回的值就是这个key所属的分区ID。该分区方法可以保证同一组的键出现在同一个节点的分区上。速度快,但是可能产生数据偏移,造成每个分区中数据量不均衡。

 

范围分区器(Range Partitioner): 范围分区器会对现有rdd中的key-value数据进行抽样,尽量找出均衡分割点,力求分区后的每个分区内数据量均衡,但是速度相对慢。

 

自定义分区器: 实现Partitioner 即可。

 

更多实例学习:

https://www.cnblogs.com/xing901022/p/6718642.html

发布了44 篇原创文章 · 获赞 11 · 访问量 5451

猜你喜欢

转载自blog.csdn.net/Sampson_Hugo/article/details/103383735