计算火花 sql 的运行时间



我正在尝试运行几个 Spark SQL 语句,并想计算它们的运行时间。

解决方案之一是诉诸日志。我想知道是否有其他更简单的方法可以做到这一点。如下所示:

import time
startTimeQuery = time.clock()
df = sqlContext.sql(query)
df.show()
endTimeQuery = time.clock()
runTimeQuery = endTimeQuery - startTimeQuery

如果你使用的是 spark-shell (scala),你可以尝试定义一个像这样的定时函数:

def show_timing[T](proc: => T): T = {
    val start=System.nanoTime()
    val res = proc // call the code
    val end = System.nanoTime()
    println("Time elapsed: " + (end-start)/1000 + " microsecs")
    res
}

然后你可以试试:

val df = show_timing{sqlContext.sql(query)}

最新更新