Apache spark 计算spark sql的运行时间

Apache spark 计算spark sql的运行时间,apache-spark,Apache Spark,我正在尝试运行几个spark SQL语句,并希望计算它们的运行时间 解决方法之一是使用日志。我想知道还有其他更简单的方法吗。如下所示: import time startTimeQuery = time.clock() df = sqlContext.sql(query) df.show() endTimeQuery = time.clock() runTimeQuery = endTimeQuery - startTimeQuery 如果您使用的是spark shell(scala),您可

我正在尝试运行几个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)}