spark性能调优 | 默认并行度

Spark Sql默认并行度

看官网,默认并行度200
https://spark.apache.org/docs/2.4.5/sql-performance-tuning.html#other-configuration-options


优化

在数仓中 task最好是cpu的两倍或者3倍(最好是倍数,不要使基数)
拓展

scala 复制代码
在本地 task需要自己设置,cpu就是local[x]   x就代表cpu数
在yarn --num-executors 2 --executor-cores 2相乘就代表你的cpu个数

根据提交命令

csharp 复制代码
spark-submit \
--master yarn \
--deploy-mode client \
--driver-memory 1g \
--num-executors 2 \
--executor-cores 2 \
--executor-memory 2g \
--queue spark \
--class com.donglin.sparksqltuning.PartitionTuning spark-sql-tuning-1.0-SNAPSHOT-jar-with-dependencies.jar 

去向yarn申请的executor vcore资源个数为4个(num-executors*executor-cores),如果不修改spark sql分区个数,那么就会像上图所展示存在cpu空转的情况。这个时候需要合理控制shuffle分区个数。如果想要让任务运行的最快当然是一个task对应一个vcore,但是数仓一般不会这样设置,为了合理利用资源,一般会将分区(也就是task)设置成vcore的2倍到3倍。

可以看出,时间快了不少!(这个需要多次调试,找出最优

相关推荐
小研学术20 分钟前
如何开展有组织的AI素养教育?
大数据·人工智能·ai·大模型·deepseek·ai素养
〆、风神25 分钟前
从零搭建高可用分布式限流组件:设计模式与Redis令牌桶实践
redis·分布式·设计模式
TracyCoder12341 分钟前
ElasticSearch深入解析(五):如何将一台电脑上的Elasticsearch服务迁移到另一台电脑上
大数据·elasticsearch·jenkins
Lucky GGBond1 小时前
解决 Elasticsearch 启动错误:failed to obtain node locks
大数据·elasticsearch·搜索引擎
漂流瓶6666661 小时前
如何在idea中写spark程序
java·spark·intellij-idea
柳如烟@1 小时前
Hadoop伪分布式模式搭建全攻略:从环境配置到实战测试
大数据·hadoop·分布式·mysql
曾经的三心草2 小时前
Git-基本操作
大数据·git·elasticsearch
FLLdsj3 小时前
如何在idea中写spark程序
java·学习·spark·intellij-idea
大飞哥~BigFei4 小时前
乐企数电发票分布式发票号码生成重复的问题修复思路分享
java·分布式·数电发票号码生成