开发者社区> 问答> 正文

Spark怎么自定义partitioner分区器?

Spark怎么自定义partitioner分区器?

展开
收起
xin在这 2021-12-06 00:40:32 330 0
1 条回答
写回答
取消 提交回答
  • 1 spark默认实现了HashPartitioner和RangePartitioner两种分区策略,我们也可以自己扩展分区策略,自定义分区器的时候继承org.apache.spark.Partitioner类,实现类中的三个方法

    def numPartitions: Int:这个方法需要返回你想要创建分区的个数;

    def getPartition(key: Any): Int:这个函数需要对输入的key做计算,然后返回该key的分区ID,范围一定是0到numPartitions-1;

    equals():这个是Java标准的判断相等的函数,之所以要求用户实现这个函数是因为Spark内部会比较两个RDD的分区是否一样。

    2021-12-06 00:40:45
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Hybrid Cloud and Apache Spark 立即下载
Scalable Deep Learning on Spark 立即下载
Comparison of Spark SQL with Hive 立即下载