Spark中自定义分区器实现shuffle

Spark提供HashPartitioner和RangPartitioner两种分区方式,针对key-value的RDD,自定义Partitioner能控制shuffle过程。通过继承Partitioner并重写方法确定分区ID,实现数据重新分布。自定义分区在处理多样key并要求去重时尤为关键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 Spark中实现了两种类型的分区函数,一个是基于哈希的HashPartitioner,另外一个是基于范围的RangPartitioner。只对于key--value的

的RDD才有Partitioner。决定shuffle后的分区输出数量。同时我们可以自定义Partitioner。

 

 



import java.net.URL

import org.apache.spark.rdd.RDD
import org.apache.spark.{Partitioner, SparkConf, SparkContext}

import scala.collection.mutable

/**
  * Created by hqs on 2018/1/27.
  * 1.URL字符串转对象URL得host
  * 2.Spark中自定义分区器实现shuffle,与reduceBy
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值