Spark作业执行时间

时间:2016-04-30 00:28:46

标签: apache-spark apache-spark-mllib apache-spark-1.5

这可能是一个非常简单的问题。但有没有简单的方法来衡量一个火花作业的执行时间(使用spark-submit提交)?

这将有助于我们根据输入数据的大小来分析火花作业。

编辑:我使用http://[driver]:4040来监控我的工作,但是这个Web UI会在我的工作完成时关闭。

3 个答案:

答案 0 :(得分:9)

每个SparkContext都会启动自己的Web UI实例,该实例位于

  

http://[master]:4040
  默认情况下(可以使用spark.ui.port更改端口)。

它提供包含以下信息的页面(标签):

作业,阶段,存储(使用RDD大小和内存)  环境,执行者,SQL

此信息仅在应用程序默认运行之前可用。

提示:启用spark.eventLog.enabled后,您可以在应用完成后使用Web UI。

示例网络ui,您可以将时间视为3.2小时: enter image description here

答案 1 :(得分:1)

SPARK本身提供了有关Spark Job每个阶段的详细信息。转到http://your-driver-node:4040上的Spark的Web界面,您也可以使用历史记录服务器。

如果您只需要执行时间,请转到" http://your-driver-node:8080",您可以看到提交给火花的作业的执行时间。

答案 2 :(得分:0)

如果你愿意,你可以写一段代码来获取净执行时间。

示例:

val t1 = System.nanoTime //your first line of the code

val duration = (System.nanoTime - t1) / 1e9d //your last line of the code