gpt4 book ai didi

apache-spark - 如何设置默认的 Spark 日志记录级别?

转载 作者:行者123 更新时间:2023-12-04 11:11:27 24 4
gpt4 key购买 nike

我在自己的工作站上从 pycharm 启动 pyspark 应用程序到 8 节点集群。该集群还具有在 spark-defaults.conf 和 spark-env.sh 中编码的设置

这就是我获取 spark 上下文变量的方式。

spark = SparkSession \
.builder \
.master("spark://stcpgrnlp06p.options-it.com:7087") \
.appName(__SPARK_APP_NAME__) \
.config("spark.executor.memory", "50g") \
.config("spark.eventlog.enabled", "true") \
.config("spark.eventlog.dir", r"/net/share/grid/bin/spark/UAT/SparkLogs/") \
.config("spark.cores.max", 128) \
.config("spark.sql.crossJoin.enabled", "True") \
.config("spark.executor.extraLibraryPath","/net/share/grid/bin/spark/UAT/bin/vertica-jdbc-8.0.0-0.jar") \
.config("spark.serializer", "org.apache.spark.serializer.KryoSerializer") \
.config("spark.logConf", "true") \
.getOrCreate()

sc = spark.sparkContext
sc.setLogLevel("INFO")

我想查看我的日志中正在使用的有效配置。这条线
        .config("spark.logConf", "true") \

应该导致 spark api 将其有效配置作为 INFO 记录到日志中,但默认日志级别设置为 WARN,因此我看不到任何消息。

设置这条线
sc.setLogLevel("INFO")

显示前进的 INFO 消息,但到那时为时已晚。

如何设置 spark 启动的默认日志记录级别?

最佳答案

您还可以像下面那样以编程方式更新日志级别,从 JVM 获取 spark 对象并执行如下操作

    def update_spark_log_level(self, log_level='info'):
self.spark.sparkContext.setLogLevel(log_level)
log4j = self.spark._jvm.org.apache.log4j
logger = log4j.LogManager.getLogger("my custom Log Level")
return logger;


use:

logger = update_spark_log_level('debug')
logger.info('you log message')

如果您需要更多详细信息,请随时发表评论

关于apache-spark - 如何设置默认的 Spark 日志记录级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40608412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com