• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

spark 单个task拖慢集群任务(开启推测执行)

SPARK wangting 1个月前 (10-12) 15次浏览

spark有些情况下单个任务运行特别慢,

比如原因有:数据倾斜,或者那个task所在机器配置较差等。

这种情况下可以开启预测执行(推测执行)。

推测执行优化机制采用了典型的以空间换时间的优化策略,
它同时启动多个相同task(备份任务)处理相同的数据块,哪个完成的早,则采用哪个task的结果,这样可防止拖后腿Task任务出现,进而提高作业计算速度。
但是,这样却会占用更多的资源,在集群资源紧缺的情况下,设计合理的推测执行机制可在多用少量资源情况下,减少大作业的计算时间。

 

配置如下:

# 预测执行
spark.speculation true
# 检查是否需要预测执行的间隔时间
spark.speculation.interval 5000ms
# 触发预测执行条件:成功task占比
spark.speculation.quantile 0.9

可以配在 conf/spark-defaults.conf中

也可以在提交spark任务的时候添加:

–conf spark.speculation=true \


喜欢 (2)