2016-11-21 61 views
2

如何在火花應用程序中使用日誌記錄?如何執行火花應用程序日誌記錄

問題是,火花代碼不會像寫入一樣執行,而是異步和優化,例如可能按不同的順序。

正如有人指出了我在這裏stylish spark dataset transformation 以下不應該工作/不一定按預期火花的優化查詢計劃:

logger.info("first") 
val first = df.someTransformation 
logger.info("second") 
val second = df.otherTransformation 
+1

你想要登錄什麼?你能給出一個你想記錄的內容的真實例子嗎? –

+0

我想執行幾個數據清理步驟,並希望監視進度。對於每一步我想輸出一條日誌消息。 –

回答

2

日誌語句在你的例子是不非常有意義。

我看到3種方式的日誌記錄:

a)如果你只是要記錄的你改造的「進步」,你在你的例子顯示,你必須經過申請一個動作(如撥打count())您轉型,但這會導致使用火花UI不必要的計算

b)montior火花,並考慮設置,如spark.eventLog.enabled以持續輸出

C)的UDF/UDAFs裏面,你可以使用蓄電池,收集的日誌執行者並讓他們可以訪問驅動程序。

+0

所以你會建議編寫一個日誌UDF? –

+0

@GeorgHeiler但是,如果您使用UDF進行復雜轉換,則可以將日誌記錄添加到此代碼 –

相關問題