解释Spark阶段输出日志

时间:2016-01-15 16:56:59

标签: apache-spark task stage

在AWS群集上运行spark作业时,我相信我已正确更改了代码,以分发数据和我正在使用的算法的工作。但输出看起来像这样:

data: [
    {
        type: "column",
        dataPoints: <?php echo $graphData; ?>
    }

我是否正确将0 + 2/1000解释为只有一个双核处理器一次执行1000个任务中的一个?有5个节点(10个处理器)为什么我不能看到0 + 10/1000?

2 个答案:

答案 0 :(得分:2)

总共需要完成1000项任务。正在使用2个核心来完成1000个任务。我不确定您的设置(并且从未使用AWS集群),但我希望您在spark配置中检查spark.cores.max。这指定了所有执行程序中使用的最大内核数。如果您可以显示作业的spark UI

的Executors选项卡的内容,那么它也会很有用

答案 1 :(得分:2)

这看起来更像我想要的输出:

[Stage 2:=======>                                             (143 + 20) / 1000]
[Stage 2:=========>                                           (188 + 20) / 1000]
[Stage 2:===========>                                         (225 + 20) / 1000]
[Stage 2:==============>                                      (277 + 20) / 1000]
[Stage 2:=================>                                   (326 + 20) / 1000]
[Stage 2:==================>                                  (354 + 20) / 1000]
[Stage 2:=====================>                               (405 + 20) / 1000]
[Stage 2:========================>                            (464 + 21) / 1000]
[Stage 2:===========================>                         (526 + 20) / 1000]
[Stage 2:===============================>                     (588 + 20) / 1000]
[Stage 2:=================================>                   (633 + 20) / 1000]
[Stage 2:====================================>                (687 + 20) / 1000]
[Stage 2:=======================================>             (752 + 20) / 1000]
[Stage 2:===========================================>         (824 + 20) / 1000]

在AWS EMR中,确保将--executor-cores选项设置为您正在使用的节点数,如下所示:enter image description here