某个阶段的Spark任务比其他任务要长得多

时间:2016-10-18 13:49:58

标签: apache-spark apache-spark-sql spark-dataframe

我有一个spark sql查询,如下所示:

TestPlugin

当我在我的数据集上运行时,运行时间最长的某些任务比其他任务需要更长的时间。例如,spark ui中的摘要是:

val stats = readings
  .join(stations, $"r.stationId" === $"i.stationId")
  .groupBy($"i.country", $"r.date")
  .agg(min($"r.temp").as("min"), max($"r.temp").as("max"), avg($"r.temp").as("avg"))
  .as[CountryTemperatureDistribution]

基于此,一些任务在几秒钟内完成,而其他任务需要几分钟。我试图排除数据偏差(我的小组不应该产生偏斜的数据),但是如果这是数据偏斜,可能是较慢的作业输入大小比较快的作业(它们更大)别'。T)

另一个奇怪的是,服务器作业(即使需要几分钟才完成的作业)的输入大小为0B,但输入记录为非零?

TLDR:为什么我的某些部门比其他部门需要更长时间的竞争?

0 个答案:

没有答案