问题描述:
数据按照key 存储到不同的region,这样spark scan的时候会生成相应数量的分区。如果数据只有一个分区则只有一个executor执行,性能非常差。如果分区后仍不能提高效率,可以在进行一次repartition操作,这样一个机器上会同时又多个executor执行.
只有一个region,然后进行repartition,一个num-extutors =2:
image.png
上图中可以看到,ip都是一个地址,但是是不同的executor。但是每个excutor上最多并行两个task。
多个region:
image.png
网友评论