![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spark项目
文章平均质量分 61
weixin_42733117
这个作者很懒,什么都没留下…
展开
-
Spark项目之用户行为【性能优化9】数据倾斜优化
有点类似Hive数据倾斜的情况适用:已经找出倾斜的Key,直接对倾斜Key进行打散操作,以及聚合的逻辑可以进行拆分局部和总体的,比如加减乘等不适用:聚合逻辑复杂且不支持局部聚合,比如求平均值等实际项目操作:1、在品类ID聚合之前,可以先映射随机数前缀,scala:map(),java:maptopair()2、初步的reduceByKey3、初步聚合后,再映射回本来的Key, scala:map(),java:maptopair()4、全局的reduceByKey。原创 2024-06-14 10:53:34 · 1527 阅读 · 0 评论 -
Spark项目之用户行为【性能调优7】map端缓冲区大小及reduce端内存占比调整
在reduce端,进行聚合计算的时候,同样也有0.2(default)的内存比例是用来计算的,匿名函数规则计算,如果内存足够,则直接在内存中计算,否则需要spill到磁盘中,进行交互计算。在map端,task写文件之前,都有一个内存缓冲区,如果每个task数据量不大,那么就可以不溢写文件,直接利用内存计算。conf.set(“spark.shuffle.file.buffer”,“64”),默认32k。原创 2024-05-30 16:56:32 · 231 阅读 · 0 评论 -
Spark项目之用户行为【性能调优6】Shuffle-Map端文件合并
在了解Spark-Shuffle原理之后,我们看下实际生产环境中,减少Map端输出写入文件数量的优化效果,不了解的可以考古。原创 2024-05-30 16:08:14 · 660 阅读 · 0 评论