我确实遵循了现有的stackoverflow链接,尽管如果从源安装了Spark,则可以接受的答案。
但是,我通过pip
安装了pyspark
,因此我无法找到conf/log4j.properties.template
以静音。
我正在使用以下来自同一链接的替代解决方案:
def quiet_logs( sc ):
logger = sc._jvm.org.apache.log4j
logger.LogManager.getLogger("org"). setLevel( logger.Level.ERROR )
logger.LogManager.getLogger("akka").setLevel( logger.Level.ERROR )
上面的解决方案仍然允许启动并关闭终端上的火花信息,如果我能够更新conf/log4j.properties.template
。
任何建议将不胜感激。
您可以在调用命令时覆盖pyspark的默认log4j配置,您无需修改全局文件。使用名称log4j-quiet.properties
和内容创建一个文件:
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
然后以:
启动pyspark$ pyspark --driver-java-options '-Dlog4j.configuration=file:log4j-quiet.properties'
和从启动和关闭的记录消息将消失。