这可能是一个非常简单的问题。但是有没有什么简单的方法来测量 spark 作业的执行时间(使用提交spark-submit
)?
它将帮助我们根据输入数据的大小来分析 Spark 作业。
编辑:我http://[driver]:4040
用来监控我的工作,但这个 Web UI 在我的工作完成时关闭。
这可能是一个非常简单的问题。但是有没有什么简单的方法来测量 spark 作业的执行时间(使用提交spark-submit
)?
它将帮助我们根据输入数据的大小来分析 Spark 作业。
编辑:我http://[driver]:4040
用来监控我的工作,但这个 Web UI 在我的工作完成时关闭。
每个 SparkContext 都会启动自己的 Web UI 实例,该实例可在
http://[master]:4040
默认情况下(可以使用 更改端口spark.ui.port
)。
它提供包含以下信息的页面(选项卡):
Jobs, Stages, Storage (with RDD size and memory use) Environment, Executors, SQL
此信息仅在应用程序默认运行之前可用。
提示:您可以在应用程序完成后通过启用来使用 Web UI spark.eventLog.enabled
。
SPARK 本身提供了有关 Spark 作业每个阶段的详细信息。在http://your-driver-node:4040上访问 Spark 的 Web 界面,您也可以使用历史服务器。
如果您只需要执行时间,则转到“ http://your-driver-node:8080 ”,您可以看到提交给spark的作业的执行时间。
如果您愿意,您可以编写一段代码来获取净执行时间。
例子:
val t1 = System.nanoTime //your first line of the code
val duration = (System.nanoTime - t1) / 1e9d //your last line of the code