map和mapPartition

来源:10-4 广播变量在Spark中是使用二

慕九州3016327

2020-10-12

老师你好,
map():每次处理一条数据
mapPartition():每次处理一个分区的数据,这个分区的数据处理完后,原RDD中分区的数据才能释放
咱这个peopleDetail.mapPartitions(x=>{。。。。
中为啥要用mapPartition呢。这个表的分区数据体现到哪了呢?不太明白

写回答

2回答

Michael_PK

2020-10-12

map的如果是做每条处理,不带聚合的,那么你认为会有问题吗?

1
0

慕少7351152

2022-07-01

https://cloud.tencent.com/developer/article/1805305

试着说说我的理解,map和mapPartition在处理机制上的区别题目中已经说了,这里区别在于处理一个分区的数据的时候如果有可共用的对象(比如数据库连接,或者是这里的broadcast变量数据),可以避免map中每条数据重复的创建删除,比如这里的broadcast变量,如果用map估计是要频繁的创建和释放broadcast.value的空间

0
2
慕少7351152
回复
Michael_PK
嗯嗯,忘了这一条也是
2022-07-04
共2条回复

SparkSQL入门 整合Kudu实现广告业务数据分析

大数据工程师干货课程 带你从入门到实战掌握SparkSQL

535 学习 · 192 问题

查看课程