首页 > 解决方案 > 如何从.net应用程序禁用所有日志信息到火花控制台

问题描述

如何在不登录控制台的情况下显示结果?在运行执行时我有这样的,但有很多行:

20/08/28 13:35:27 INFO MemoryStore: MemoryStore started with capacity 366.3 MB
20/08/28 13:35:27 INFO SparkEnv: Registering OutputCommitCoordinator
20/08/28 13:35:27 INFO Utils: Successfully started service 'SparkUI' on port 4040.
20/08/28 13:35:27 INFO SparkUI: Bound SparkUI to 0.0.0.0, and started at http://
20/08/28 13:35:27 INFO SparkContext: Added JAR file:/C:/
20/08/28 13:35:27 INFO Executor: Starting executor ID driver on host localhost

对我来说不幸的是,在我的操纵之后没有结果。我找到了文件 log4j.properties.template,将所有内容更改为 WARN 并且仍然存在相同的问题。此外,我更改了日期时间格式以检查文件是否被读取。但格式仍然相同,比如log4j.appender.console.layout.ConversionPattern=%d{yy:MM:dd HH:mm:ss} %p %c{1}: %m%n. 所以,这就是我决定不读取该文件的原因。我也写在我的 .cs 文件中

var sc = new SparkContext(new SparkConf());
            sc.SetLogLevel("WARN");

在我这样的代码中

namespace mySparkApp
{
    class Program
    {
        static void Main(string[] args)
        {

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

            var sc = new SparkContext(new SparkConf());
            sc.SetLogLevel("WARN");

            // Create a Spark session
            SparkSession spark = SparkSession
                .Builder()
                .AppName("word_count_sample")
                .GetOrCreate();

            // Create initial DataFrame
            DataFrame dataFrame = spark.Read().Text("input.txt");

            // Count words
            DataFrame words = dataFrame
                .Select(Functions.Split(Functions.Col("value"), " ").Alias("words"))
                .Select(Functions.Explode(Functions.Col("words"))
                .Alias("word"))
                .GroupBy("word")
                .Count()
                .OrderBy(Functions.Col("count").Desc());

            // Show results
            words.Show();

            // Stop Spark session
            spark.Stop();
        }
    }
}

然后重新启动我的机器,但我有相同的。

标签: .netapache-sparkloggingconsolelog4j

解决方案


您需要将文件重命名/复制log4j.properties.templatelog4j.properties.

如果您想查看更少的日志,可以将日志级别设置为ERROR而不是WARN.

您还可以放置这些行以避免记录您遇到的其他错误。

log4j.logger.org.apache.spark.util.ShutdownHookManager=OFF
log4j.logger.org.apache.spark.SparkEnv=ERROR

资源


推荐阅读