当前位置:网站首页>Spark 算子之partitionBy
Spark 算子之partitionBy
2022-04-23 15:45:00 【逆风飞翔的小叔】
前言
在之前的学习中,我们使用groupBy可以对数据按照指定的key的规则进行分组,设想这样一种场景,如果要对 tuple类型的数据,即key/value类型的数据进行分组该怎么做呢?针对这种的话Spark提供了partitionBy算子解决;
partitionBy
函数签名
def partitionBy( partitioner: Partitioner ): RDD[(K, V)]
函数说明
将数据按照指定 Partitioner 重新进行分区。 Spark 默认的分区器是 HashPartitioner
案例展示
将一组数据通过partitionBy之后存储到多个分区文件中
import org.apache.spark.rdd.RDD
import org.apache.spark.{HashPartitioner, SparkConf, SparkContext}
object PartionBy_Test {
def main(args: Array[String]): Unit = {
val sparkConf = new SparkConf().setMaster("local[*]").setAppName("Operator")
val sc = new SparkContext(sparkConf)
// TODO 算子 - (Key - Value类型)
val rdd = sc.makeRDD(List(1, 2, 3, 4), 2)
val mapRDD: RDD[(Int, Int)] = rdd.map((_, 1))
// partitionBy根据指定的分区规则对数据进行重分区
val newRDD = mapRDD.partitionBy(new HashPartitioner(2)).saveAsTextFile("E:\\output")
sc.stop()
}
}
运行上面的代码,执行完成后,观察本地的目录下,可以看到4条数据被分不到不同的分区文件中

版权声明
本文为[逆风飞翔的小叔]所创,转载请带上原文链接,感谢
https://blog.csdn.net/congge_study/article/details/124362294
边栏推荐
猜你喜欢

时序模型:门控循环单元网络(GRU)

一刷314-剑指 Offer 09. 用两个栈实现队列(e)

【AI周报】英伟达用AI设计芯片;不完美的Transformer要克服自注意力的理论缺陷

基于 TiDB 的 Apache APISIX 高可用配置中心的最佳实践

Explanation 2 of redis database (redis high availability, persistence and performance management)

c语言---指针进阶

大型互联网为什么禁止ip直连

Mumu, go all the way

使用 Bitnami PostgreSQL Docker 镜像快速设置流复制集群

新动态:SmartMesh和MeshBox的合作新动向
随机推荐
贫困的无网地区怎么有钱建设网络?
大厂技术实现 | 行业解决方案系列教程
utils.DeprecatedIn35 因升级可能取消,该如何办
山寨版归并【上】
Neodynamic Barcode Professional for WPF V11. 0
计算某字符出现次数
Neodynamic Barcode Professional for WPF V11.0
One brush 314 sword finger offer 09 Implement queue (E) with two stacks
Node.js ODBC连接PostgreSQL
PHP function
开源项目推荐:3D点云处理软件ParaView,基于Qt和VTK
Extract non duplicate integers
Introduction to dynamic programming of leetcode learning plan day3 (198213740)
Single architecture system re architecture
[leetcode daily question] install fence
提取不重复的整数
移动金融(自用)
Explanation of redis database (IV) master-slave replication, sentinel and cluster
字符串排序
大型互联网为什么禁止ip直连