2016-02-08 7 views
5

私はいくつかのspark SQL文を実行しようとしており、実行時間を計算したいと考えています。spark sqlの実行時間を計算する

解決策の1つはログに依存することです。私はそれを行う他の簡単な方法があるのだろうかと思っています。以下のような何か:

import time 

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

答えて

8

あなたが火花シェル(スカラ)を使用している場合は、次のようにタイミング関数を定義しようとすることができ:

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)} 
関連する問題