2016-05-09 33 views
0

由於Spark中的評估是懶惰的,所以跟蹤執行語句的時間的日誌可能會出錯。例如,如果用戶在讀取文本文件之前以及文件讀取後(sc.textFile()之前和之後)捕獲開始時間,則會導致錯誤的信息,因爲日誌記錄將會完成,但文件尚未讀取以懶惰的評價。任何解決方案,如懶惰日誌記錄?如何登錄Spark Java API作爲評估是懶惰?

回答

0

你必須在你的RDD上調用spark動作來觸發有效計算。轉換動作如:地圖,過濾器,讀取文件等不會觸發火花動作。爲了測量起始日誌之間的有效時間,在rdd上放置一個spark動作(也許你想緩存它們以供將來使用,並調用rdd.cache()

+0

在日誌記錄中使用spark動作(如spark.count())會不必要地消耗也將被計數的計算時間。因此,導致日誌計時錯誤。 –