如何隐藏“py4j.java_gateway:Received command c on object id p0”?
Posted
技术标签:
【中文标题】如何隐藏“py4j.java_gateway:Received command c on object id p0”?【英文标题】:how to hide "py4j.java_gateway:Received command c on object id p0"? 【发布时间】:2016-09-12 03:51:36 【问题描述】:一旦在 INFO 级别开始记录,我就会在您的日志中不断收到py4j.java_gateway:Received command c on object id p0
。怎么隐藏?
【问题讨论】:
【参考方案1】:使用logging
模块运行:
logging.getLogger("py4j").setLevel(logging.ERROR)
【讨论】:
乐于助人,*** 摇滚【参考方案2】:这些答案都不适合我。即使使用了上述解决方案,我仍然会收到日志记录错误。
经过长时间的搜索,我发现以下解决了我的问题。
import logging
logger = spark._jvm.org.apache.log4j
logging.getLogger("py4j.java_gateway").setLevel(logging.ERROR)
我在 Databricks 知识库 article 中找到了这个解决方案
【讨论】:
【参考方案3】:控制 pyspark 和 py4j 日志记录的最佳方法是设置以下 sn-p:
import logging
logging.getLogger("py4j").setLevel(<pyspark-level>)
logging.getLogger('pyspark').setLevel(<py4j-level>)
logger = logging.getLogger('pyspark')
对于你的情况,你应该写:
import logging
logging.getLogger("py4j").setLevel(logging.INFO)
logging.getLogger('pyspark').setLevel(logging.ERROR)
logger = logging.getLogger('pyspark')
【讨论】:
以上是关于如何隐藏“py4j.java_gateway:Received command c on object id p0”?的主要内容,如果未能解决你的问题,请参考以下文章