赞
踩
Spark中默认提供两种分区器(partitioner):
哈希分区器(HashPartitioner):
哈希分区器会根据key-value的键值key的hashcode进行分区,即对于给定的key,计算其hashCode,并除于分区的个数取余,如果余数小于0,则用余数+分区的个数,最后返回的值就是这个key所属的分区ID。该分区方法可以保证同一组的键出现在同一个节点的分区上。速度快,但是可能产生数据偏移,造成每个分区中数据量不均衡。
范围分区器(Range Partitioner): 范围分区器会对现有rdd中的key-value数据进行抽样,尽量找出均衡分割点,力求分区后的每个分区内数据量均衡,但是速度相对慢。
自定义分区器: 实现Partitioner 即可。
更多实例学习:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。