SparkSQL自适应执行

  1. 云栖社区>
  2. 阿里云E-MapReduce(EMR)>
  3. 博客>
  4. 正文

SparkSQL自适应执行

寒沙牧 2018-09-20 17:21:59 浏览4319
展开阅读全文

阿里云EMR-3.13.0版本的SparkSQL支持自适应执行功能。

解决哪些问题

SparkSQL自适应执行解决以下问题:

shuffle partition个数

目前SparkSQL中reduce阶段的task个数取决于固定参数spark.sql.shuffle.partition(默认值200),一个作业一旦设置了该参数,它运行过程中的所有阶段的reduce个数都是同一个值。

而对于不同的作业,以及同一个作业内的不同reduce阶段,实际的数据量大小可能相差很大,比如reduce阶段要处理的数据可能是10MB,也有可能是100GB, 如果使用同一个值对实际运行效率会产生很大影响,比如10MB的数据一个task就可以解决,如果spark.sql.shuffle.partition使用默认值200的话,那么10MB的数据就要被分成200个

网友评论

登录后评论
0/500
评论
寒沙牧
+ 关注
所属云栖号: 阿里云E-MapReduce(EMR)