
Spark优化
文章平均质量分 56
Knight_AL
这个作者很懒,什么都没留下…
展开
-
spark性能调优 | 默认并行度
去向yarn申请的executor vcore资源个数为4个(num-executors*executor-cores),如果不修改spark sql分区个数,那么就会像上图所展示存在cpu空转的情况。这个时候需要合理控制shuffle分区个数。如果想要让任务运行的最快当然是一个task对应一个vcore,但是数仓一般不会这样设置,为了合理利用资源,一般会将分区(也就是task)设置成vcore的2倍到3倍。可以看出,时间快了不少!看官网,默认并行度200。原创 2023-11-16 15:12:35 · 1222 阅读 · 0 评论 -
spark性能调优 | 内存优化
发现1.7g直接变成了270m,优化还是挺大的!我们转成rdd去跑任务,看看内存占有多大。我们也可以去excutor看内存大小。显示红色,是因为我写了while循环。在公司尽量不要写rdd(性能不好)Ds会专门使用自己的偏码进行序列化。我们还可以进行序列化(变化不大)我们需要看看rdd的缓存级别。进行优化之后33.9M。使用序列化的缓存级别。原创 2023-11-16 15:04:36 · 746 阅读 · 0 评论 -
Spark资源规划-资源上线评估
每个 node 的 executor 数 = 单节点 yarn 总核数 / 每个 executor 的最大 cpu 核数考虑到系统基础服务和 HDFS 等组件的余量,yarn.nodemanager.resource.cpu-vcores 配 置为: 28,参数 executor-cores 的值为:4,那么每个 node 的 executor 数 = 28/4 = 7,假设集。该参数值=yarn-nodemanager.resource.memory-mb / 每个节点的 executor 数量。原创 2023-11-16 14:53:29 · 990 阅读 · 0 评论