spark优化

本文探讨了在大数据处理过程中遇到的常见问题,包括RDD partition数据量减少、连接创建频繁、数据倾斜、worker节点性能瓶颈及序列化收集效率低下等,并提供了相应的解决方案,如减少partition数量、使用PartitionMap优化连接获取、关键数据聚合、杀掉慢节点、优化序列化方式等。

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

1.  多次filter操作后,RDD中partition的数据量会越来越少,当很小接近于空的时候,会损耗性能

     解决: 利用coalesce 或 repartition(强制shuffle)减少RDD中partition数量

2. 海量记录getConn,每个partition里的每条记录get时都需要新建连接不必要,只需每个partition取一个connection

      解决:  PartitionMap

3. 数据倾斜

      解决: key取reverse或aggregation

4.  worker倾斜

       解决: spark.speculation=true kill掉straggle node

5.  序列化 collect? serialization

       解决: collect 实际上是一个添加所有元素到数组的步骤超慢;ObjectOutputStream 是JDK自带的也是超慢;kyro seriralization



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值