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

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

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

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部