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倍。

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

相关推荐
灰灰勇闯IT1 小时前
Flutter×鸿蒙深度融合指南:从跨端适配到分布式能力落地(2025最新实战)
分布式·flutter·harmonyos
BD_Marathon1 小时前
【Zookeeper】zk_客户端API_创建节点
分布式·zookeeper·云原生
BD_Marathon1 小时前
【Zookeeper】监听器原理
linux·分布式·zookeeper
无心水2 小时前
【分布式利器:分布式ID】5、UUID/GUID方案:无依赖实现,优缺点与场景选型
分布式·分库分表·uuid·分布式id·水平分库·分布式利器·guid
程序员皮皮林2 小时前
Redis:大数据中如何抗住2000W的QPS
大数据·数据库·redis
F***E2392 小时前
【分布式文件存储系统Minio】2024.12保姆级教程
分布式
武子康3 小时前
大数据-169 Elasticsearch 入门到可用:索引/文档 CRUD 与搜索最小示例
大数据·后端·elasticsearch
v***91303 小时前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql
i***71955 小时前
RabbitMQ 集群部署方案
分布式·rabbitmq·ruby
k***21605 小时前
RabbitMQ 客户端 连接、发送、接收处理消息
分布式·rabbitmq·ruby