繁体   English   中英

spark-2.0.3中的spark.sql.shuffle.partitions无效

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM