2.Apache Spark sql 一次80000并行度sql的优化经历

一、问题

一位同事遇到的问题
他调试spark sql任务时发现,任务并行度达到了恐怖的81835个,运行速度自然也快不到哪去。spark任务界面如下图所示

在这里插入图片描述

二、解决

1.排查过程

先看了下入参的hive表下的文件个数

su hdfs
hdfs dfs -count /user/hive/warehouse/database_name.db/table_name
  • 发现对应的文件数刚好是和spark任务并行度一样的81835
  • 这说明sparksql里的where的过滤没有生效
    又看了下where里的字段,发现并不是分区字段

2.解决方式

把where后的过滤字段改成hive分区字段

改成分区字段后,并行度就减少到200左右了

猜你喜欢

转载自blog.csdn.net/qq_39945938/article/details/108140477
今日推荐