如何正确测量Spark中的经过时间?

时间:2018-05-31 07:27:05

标签: scala apache-spark apache-spark-sql

我的代码用Spark和Scala编写。现在我需要测量代码特定功能的经过时间。

我应该像这样使用spark.time吗?但是,我怎样才能正确分配df的值?

val df = spark.time(myObject.retrieveData(spark, indices))

或者我应该这样做?

def time[R](block: => R): R = {
    val t0 = System.nanoTime()
    val result = block    // call-by-name
    val t1 = System.nanoTime()
    println("Elapsed time: " + (t1 - t0) + "ns")
    result
}

val df = time{myObject.retrieveData(spark, indices)}

更新

根据评论中的建议,我在df.rdd.count内运行myObject.retrieveData以实现DataFrame。

0 个答案:

没有答案