spark-partitionBy

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark-partitionBy相关的知识,希望对你有一定的参考价值。

参考技术A partitionBy 重新分区, repartition默认采用HashPartition分区,
关于数据倾斜 https://www.jianshu.com/writer#/notebooks/11387253/notes/26676524
自己设计合理的分区方法(比如数量比较大的key 加个随机数 随机分到更多的分区, 这样处理数据倾斜更彻底一些)

这里的分区方法可以选择, 默认的分区就是HashPartition分区,
注意如果多次使用该RDD或者进行join操作, 分区后peresist持久化操作

范围分区 RangePartitioner :先键值排序, 确定样本大小,采样后不放回总体的随机采样方法, 分配键值的分区,通过样本采样避免数据倾斜。
源码理解参考: https://www.cnblogs.com/liuming1992/p/6377540.html

自定义分区函数 自己根据业务数据减缓数据倾斜问题:
要实现自定义的分区器,你需要继承 org.apache.spark.Partitioner 类并实现下面三个方法

以上是关于spark-partitionBy的主要内容,如果未能解决你的问题,请参考以下文章