【大数据面试题】35 Spark 怎么做优化?

一步一个脚印,一天一道大数据面试题

博主希望能够得到大家的点赞收,藏支持!非常感谢~
点赞,收藏是情分,不点是本分。祝你身体健康,事事顺心!

Spark 如何做优化一直是面试过程中常问的问题。那么这次也仅以此篇文章总结梳理,希望对大家有帮助。

通用优化

Spark 一般遇到了报错,紧急处理时,第一时间能想到的处理方法。
不过这样的方法使用范围较为有限。

  1. 增大资源
    增大 executor 的 cpu 核,内存。

  2. 减少 shuffle 输入数据
    做多一些 filter 过滤,输入数据少了,便不容易报错。

Spark 任务优化

能在 Spark 计算任务中进行配置,修改而做的优化。

  1. 数据倾斜
    shuffle 可以说是 spark 最容易报错的地方,而深层原因就是容易到时 shuffle 报错的主要原因。
    1.1. 定位数据倾斜:
    Spark UI 中看到个别executor 处理的数据量远大于其它 executor,并出现了报错。
    1.2. 增大并行度:
    可能是并行度太小,导致个别 executor 处理数据量过大,增大并行度能减小报错的可能。
    就像 100份工作随机给 5 人做,调整到随机给 10 人做的区别。
// 增大 DataFrame 的分区数
dataFrame.repartition(100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值