推测执行机制

         推测任务是指对于一个Stage里面拖后腿的Task,会在其他节点的Executor上再次启动这个task,如果其中一个Task实例运行成功则将这个最先完成的Task的计算结果作为最终结果,同时会干掉其他Executor上运行的实例。spark推测式执行默认是关闭的,可通过spark.speculation属性来开启

 

推测机制的设置

–conf spark.speculation=true
–conf spark.speculation.interval=100
–conf spark.speculation.quantile=0.9
–conf spark.speculation.multiplier=1.5

1. 当spark.speculation设置为true时,就会对task开启推测执行,也就是在一个stage下跑的慢的tasks有机会重新启动;

2. spark.speculation.interval,100ms,Spark检测tasks推测机制的间隔时间;

3. spark.speculation.quantile,0.9,当一个stage下多少百分比的tasks运行完毕后才开启推测执行机制,0.9即90%的任务都运行完毕后开启推测执行;

4. spark.speculation.multiplier,1.5,一个task的运行时间是所有task的运行时间中位数的几倍时,才会被认为该task需要重新启动。

版权声明:本文为skaarl原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/skaarl/p/13966591.html