在Spark作业中,使用Spark SQL组时,很少有任务花费很长时间(卡住)

时间:2018-04-04 13:01:34

标签: apache-spark pyspark apache-spark-sql hdinsight

我有Spark作业(在Azure HDInsight上),它运行SQL查询(标准groupby)并将结果保存到Parquet& csv格式。

这项工作耗时很长。当我检查Spark UI时,我发现有两个任务被卡住了。

Spark slow tasks

我认为这是因为数据偏差。但是,如果我检查这些执行者:

Spark stuck executors

它们具有相似大小的输入数据,随机读写。所以它似乎不是数据偏差问题。还有什么其他原因导致某些任务需要很长时间?

只是想了解我正在运行的内容,示例查询:

SELECT year_month, id, feature,
min(prev_ts) AS timedelta_min,
max(prev_ts) AS timedelta_max,
stddev_pop(prev_ts) AS timedelta_sd,
AVG(prev_ts) AS timedelta_mean,
percentile_approx(prev_ts,0.5) AS timedelta_median,
percentile_approx(prev_ts,0.25) AS timedelta_1st_quartile,
percentile_approx(prev_ts,0.75) AS timedelta_3rd_quartile
FROM table_a 
GROUP BY id, feature, year_month

此处prev_ts是在时间戳列上使用LAG创建的列。

0 个答案:

没有答案