这可能是一个非常简单的问题。但有没有简单的方法来衡量一个火花作业的执行时间(使用spark-submit
提交)?
这将有助于我们根据输入数据的大小来分析火花作业。
编辑:我使用http://[driver]:4040
来监控我的工作,但是这个Web UI会在我的工作完成时关闭。
答案 0 :(得分:9)
每个SparkContext都会启动自己的Web UI实例,该实例位于
http://[master]:4040
默认情况下(可以使用spark.ui.port
更改端口)。
它提供包含以下信息的页面(标签):
作业,阶段,存储(使用RDD大小和内存) 环境,执行者,SQL
此信息仅在应用程序默认运行之前可用。
提示:启用spark.eventLog.enabled
后,您可以在应用完成后使用Web UI。
答案 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