调整spark-sql控制台日志输出级别

问题:

每次spark-sql操作都会打印大量的INFO信息,这样我们查看结果就会很麻烦,

解决:

调整Spark日志级别的配置文件是在$SPARK_HOME/conf/目录下的log4j.properties.template,默认级别是INFO

将log4j.properties.template复制一份

cp log4j.properties.template log4j.properties

进入log4j.properties修改输出到console的日志级别:

调整spark-sql控制台日志输出级别_第1张图片

 

在IDEA中解决该问题:

在spark--core中有一个log4j.defaults.properties中默认的日志级别时INFO,可通过双击shift,然后搜索进行查看

调整spark-sql控制台日志输出级别_第2张图片

调整spark-sql控制台日志输出级别_第3张图片

然后将下列信息复制,添加配置文件log4j.properties

# Set everything to be logged to the console
log4j.rootCategory=WARN, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n

上面两种方法都是对于全局的修改,可能我们有时会需要查看相关的INFO信息,这样我们可以在程序中设置单独设置日志的级别

//在main方法外设置,程序内的设置>配置文件>默认设置
Logger.getLogger("org").setLevel(Level.INFO)

你可能感兴趣的:(Spark)