Apache spark spark web用户界面符号

Apache spark spark web用户界面符号,apache-spark,Apache Spark,我正在运行示例作业,spark作业UI显示总正常运行时间为26秒,但当我将作业的持续时间列相加时,它仅为17-18秒。为了确定运行作业执行逻辑的总时间,我应该依赖哪一个。我不关心启动和停止群集所需的时间。是吗26秒,包括这段时间,就是这样,我如何忽略启动和停止集群的时间,并获取逻辑的最终执行时间 另外,我的spark配置如下所示: val conf = new SparkConf().setAppName("Metrics").setMaster("spark://master:7077").

我正在运行示例作业,spark作业UI显示总正常运行时间为26秒,但当我将作业的持续时间列相加时,它仅为17-18秒。为了确定运行作业执行逻辑的总时间,我应该依赖哪一个。我不关心启动和停止群集所需的时间。是吗26秒,包括这段时间,就是这样,我如何忽略启动和停止集群的时间,并获取逻辑的最终执行时间

另外,我的spark配置如下所示:

val conf = new SparkConf().setAppName("Metrics").setMaster("spark://master:7077").set("spark.executor.memory", "5g").set("spark.cores.max", "4").set("spark.sql.warehouse.dir", "file:///c:/tmp/spark-warehouse")set("spark.executor.memory", "5g")
    val sc = new SparkContext(conf)
    val sqlContext = new org.apache.spark.sql.SQLContext(sc)
我有2个物理核心和2个虚拟核心机,即4个逻辑核心。我试图通过在配置中将其设置为4个核心来使用所有核心,但出于某些原因,仅使用1个执行器来运行作业。有人能解释一下为什么只生成1个执行器,以及在配置中核心和执行器之间的关系吗火花世界。我是火花新手,所以任何帮助都会很好


一个执行器可以像您的情况一样使用多个线程。您有一个具有4个核心的执行器

每个执行器线程一次可以处理一个分区,因此您的集群可以同时处理四个分区


在这样的小设置中,没有理由启动多个executor JVM,但是如果您可以使用
spark.executor.cores
来配置单个executor可以使用多少内核。

感谢您的解释,您是否了解第一个查询,即为什么spark web ui在正常运行时间中显示26秒,而在持续时间列中显示15秒。