我试图运行几个火花SQL语句,并希望计算它们的运行时间。
其中一个解决方案是使用日志。我想知道有没有其他更简单的方法来做到这一点。如下所示:
import time
startTimeQuery = time.clock()
df = sqlContext.sql(query)
df.show()
endTimeQuery = time.clock()
runTimeQuery = endTimeQuery - startTimeQuery
答案 0 :(得分:8)
如果你正在使用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)}