pyspark命令行打印日志问题

来源:互联网 发布:淘宝运营工资待遇 编辑:程序博客网 时间:2024/05/22 13:21

在使用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

0 0
原创粉丝点击