Spark作业执行时间

Spark job execution time

这可能是一个非常简单的问题。但是有什么简单的方法可以测量一个spark作业的执行时间(使用spark-submit提交)?

这将帮助我们根据输入数据的大小分析 spark 作业。

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

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

如果你只需要执行时间,那么转到“http://your-driver-node:8080”,你可以看到提交给spark的作业的执行时间。

每个 SparkContext 都会启动自己的 Web UI 实例,可在

http://[master]:4040
by default (the port can be changed using spark.ui.port ).

它提供包含以下信息的页面(选项卡):

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

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

提示:您可以在应用程序完成后通过启用spark.eventLog.enabled来使用网络UI。

示例网站 ui 您可以在其中看到 3.2 小时的时间:

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

示例:

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

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