悬赏了,spark sql group by sum特别慢,请大牛支持,谢谢
HDP2.4.0版本,Spark sql运行在yarn-client模式,现在发现有些语句跑特别慢,20个节点,一千多个cpu核心,8T内存,数据量不到一亿条,都是类似这样的语
select 字段1,字段2,。。。,字段n,sum(字段a),sum(字段b),。。。,sum(字段z) from table1 group by 字段1,字段2,。。。,字段n,
group by十个字段,然后sum20多个值,竟然要十分钟以上,而把数据加载到一台oracle服务器,开启多核计算,同样语句只要30秒。
spark sql设置成动态分配,spark.dynamicallocation.enabled=true,设置成最大最小和初始化都是300。
发现是卡在最后一个task里,例如有200个任务,卡在最后一个任务里,最后一个任务占95%以上时间。
java调用spark的thrift server接口,直接运行SQL语句,没有采用调spark rdd方法,因为业务逻辑多且复杂,sql好维护。
请大牛分析下慢的原因,指导下如何提高查询速度,谢谢