为什么spark sql有些任务特别慢?基本同样的input和shuffle数据量,大多数任务不到10几分钟就结束了,但有几个任务要30分钟以上,有个还要快1小时,GC时间都差不多。应该不是数据倾斜,因为任务的数据量都差不多。
我用的是spark 1.6,yarn-client模式,通过spark thrift server运行sql跑批。
请各位大神分析分析,在此谢过!

解决方案 »

  1.   

    查看一下CPU利用率
    job,有的特别慢,查看CPU利用率很低,我们就尝试减少每个executor占用CPU core的数量,增加并行的executor数量,同时配合增加分片,整体上增加了CPU的利用率,加快数据处理速度。
    推荐个文章,可以参考一下,可能会帮助你
    http://blog.csdn.net/kaaosidao/article/details/78174413
      

  2.   

    谢谢,现在是一个executor4个核,自动分配executor,分区没有设置。接下来,会试试一个executor一个核,看是否有改
      

  3.   

    改成一个executor一个核后,分区没有设置,情况还是一样,见下图,多数不到4分钟完成,有一个30分钟
      

  4.   

    到最慢机器上查cpu很空闲,很奇怪