gpt4 book ai didi

apache-spark - 如何为在 Intellij 中运行的 Spark 程序配置 log4j?

转载 作者:行者123 更新时间:2023-12-05 02:19:17 25 4
gpt4 key购买 nike

我已经在谷歌上尝试了所有可能的建议,但我仍然得到 INFO 级别的 spark 日志,这太冗长了。

import org.apache.log4j.{Level, LogManager, Logger}
import org.apache.spark.sql.SparkSession

object tmp {

def main(args: Array[String]): Unit = {
val spark = SparkSession.builder()
.master("local[*]")
.getOrCreate()

spark.sparkContext.setLogLevel("ERROR")

LogManager.getRootLogger.setLevel(Level.ERROR)
val rootLogger = Logger.getRootLogger()
rootLogger.setLevel(Level.ERROR)

Logger.getLogger("org").setLevel(Level.OFF)
Logger.getLogger("akka").setLevel(Level.OFF)

spark.read.json("/home/white/wk/tmp/people.json").show
}
}

最佳答案

这是您可能想要使用的 log4j.properties 文件:

#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy tpInputOf the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# 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

# Set the default spark-shell log level to WARN. When running the spark-shell, the
# log level for this class is used to overwrite the root logger's log level, so that
# the user can have different defaults for the shell and regular Spark apps.
log4j.logger.org.apache.spark.repl.Main=WARN

# Settings to quiet third party logs that are too verbose
log4j.logger.org.spark_project.jetty=WARN
log4j.logger.org.spark_project.jetty.util.component.AbstractLifeCycle=ERROR
log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO
log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO
log4j.logger.org.apache.parquet=ERROR
log4j.logger.parquet=ERROR

# SPARK-9183: Settings to avoid annoying messages when looking up nonexistent UDFs in SparkSQL with Hive support
log4j.logger.org.apache.hadoop.hive.metastore.RetryingHMSHandler=FATAL
log4j.logger.org.apache.hadoop.hive.ql.exec.FunctionRegistry=ERROR

它将 log4j.rootCategory 设置为 WARN。如果您想要更少的消息,可以使用 ERROR。将此文件放在类路径的根目录中。如果你有一个 Maven 项目,那就是 src/main/resources

关于apache-spark - 如何为在 Intellij 中运行的 Spark 程序配置 log4j?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43128862/

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