并行度
RDD
spark.default.parallelism
设置RDD的默认并发度,没有设置时,由join、reduceByKey和parallelize等决定。
SQL
spark.sql.shuffle.partitions
shuffle reduce阶段默认的并行度,默认200。
并发度
同时执行的task数
CPU低效原因
并行度较低
数据分片过大,每个task跑时,所需的内存较大,导致其他task无法同时跑,降低并发度。导致其余cpu线程挂起浪费。
并行度过高
数据过于分散,用于调度的开销过多。
如何设置
并行度 = 并发度 * (2~3)倍
举例
调优前


并发度:3 * 4 = 12,并行度:200.
结果:

明显见到后两个节点的cpu浪费现象很明显。
调优后

提交命令相同


1056

被折叠的 条评论
为什么被折叠?



