
[英]spark.sql.shuffle.partitions local spark performance behavior
[英]spark.sql.shuffle.partitions in spark-2.0.3 doesn't take effect
我打算基于Hive-On-Spark执行SQL,设置如下:
select a,b,sum(c) from tbl_a group by a,b
设置hive.execution.engine = spark; 设置spark.sql.shuffle.partitions = 1201;
然后,在应用程序启动后,我只能从Spark yarn网页看到82个并行运行的任务,这与预期的不一样。 我测试了另一个更复杂的SQL(使用GROUP BY CUBE,其中嵌套了SQL查询),它在第二阶段仅产生17个任务,这将导致大量的full-gc。 知道为什么spark.sql.shuffle.partitions
不起作用吗? 谢谢!
进行以下两个设置后,分区号将恢复正常并再次符合预期。
set hive.exec.reducers.bytes.per.reducer=67108864; set mapred.reduce.tasks=1201;
似乎HiveOnSpark仍会应用一些hadoop参数来决定执行计划,并遮盖了相应的spark参数。
我写了一篇文章 ,详细介绍了场景回放和参考。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.