pyspark命令行打印日誌問題

在使用spark-submit運行工程jar包時常常會出現一下兩個問題:
1.在程序中手打的log(如print(“***testRdd.count=”+testRdd.count())常常會因被下一個Job的執行日誌覆蓋掉而無法查看日誌;,或執行日誌過多,不好查看print的內容。
2.一旦命令窗口被關閉或者電腦因斷電等原因異常關閉,程序便終止運行。
其中,第一個問題可以通過將運行日誌重定位到文件中來解決,命令如下:

spark-submit testSpark.jar > ~/testLog.out

運行上條命令則可將手打的log保存到~/testLog.out中,且日誌中僅保存手打Log內容,執行日誌打印到命令行。上面這個命令每次寫入testLog.out文件時都會覆蓋上次的內容,可以用追加的形式:

spark-submit testSpark.jar >> ~/testLog.out

第二個問題,則可以通過後臺運行Spark-submit命令nohip來解決,命令如下:

nohip spark-submit testSpark.jar &

運行上條命令則實現在後臺運行spark命令,不用擔心電腦異常關機以及命令行不小心關閉等問題,且輸出日誌保存在當前目錄的nohip.out目錄中。
如果希望既可以後臺運行命令又可以將日誌保存到目的文件中,則可將上述兩個命令結合起來,命令如下:

nohip spark-submit testSpark.jar > ~/testLog.out &

如此,便可實現後臺運行的問題,nohip不僅可以用於後臺執行Spark命令,也可用於後臺執行其他jar包,可具體查找nohip的使用方法。
轉自:

http://blog.csdn.net/blank1990/article/details/49929723

發佈了71 篇原創文章 · 獲贊 322 · 訪問量 55萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章