【问题标题】:How to turn on TRACE logging in spark如何在 spark 中开启 TRACE 日志记录
【发布时间】:2019-03-17 20:54:15
【问题描述】:

我在 spark 中的 RuleExecutor 中注意到每次催化剂改变计划时都会执行跟踪日志:

https://github.com/apache/spark/blob/78801881c405de47f7e53eea3e0420dd69593dbd/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/rules/RuleExecutor.scala#L93

我想知道的是如何配置 spark 以便打开跟踪日志记录?我正在使用 log4j 并遇到以下文档: https://jaceklaskowski.gitbooks.io/mastering-apache-spark/spark-logging.html

我已经研究了一段时间的代码,我发现您可以设置“log4j.threshold=TRACE”以使部分记录器处于跟踪模式,但是我似乎无法获取记录器被催化剂用来拾取设置。

我做错了什么?

【问题讨论】:

    标签: apache-spark logging log4j


    【解决方案1】:

    我刚刚尝试了一个简单的结构化流程序,从 IntelliJ 中的 Kafka 读取数据,以下语句对我有用,即给了我跟踪级别的日志:

    SparkSession.builder().getOrCreate().sparkContext().setLogLevel("TRACE");

    这是显示一些跟踪日志的输出的一部分:

    ...
    ...
    18/10/12 23:56:02 TRACE package$ExpressionCanonicalizer: Fixed point reached for batch CleanExpressions after 1 iterations.
    18/10/12 23:56:02 TRACE package$ExpressionCanonicalizer: Batch CleanExpressions has no effect.
    18/10/12 23:56:02 TRACE package$ExpressionCanonicalizer: Fixed point reached for batch CleanExpressions after 1 iterations.
    18/10/12 23:56:02 TRACE package$ExpressionCanonicalizer: Batch CleanExpressions has no effect.
    18/10/12 23:56:02 TRACE package$ExpressionCanonicalizer: Fixed point reached for batch CleanExpressions after 1 iterations.
    18/10/12 23:56:02 TRACE package$ExpressionCanonicalizer: Batch CleanExpressions has no effect.
    18/10/12 23:56:02 TRACE package$ExpressionCanonicalizer: Fixed point reached for batch CleanExpressions after 1 iterations.
    18/10/12 23:56:02 TRACE package$ExpressionCanonicalizer: Batch CleanExpressions has no effect.
    +-----+----+-----+-----------------------+
    |topic|key |value|timestamp              |
    +-----+----+-----+-----------------------+
    |test |null|hi345|2018-10-12 23:56:00.099|
    +-----+----+-----+-----------------------+
    18/10/12 23:56:02 DEBUG GenerateUnsafeProjection: code for input[0, string, true],input[1, string, true],input[2, string, true],input[3, string, true]:
    /* 001 */ public java.lang.Object generate(Object[] references) {
    /* 002 */   return new SpecificUnsafeProjection(references);
    /* 003 */ }
    /* 004 */
    /* 005 */ class SpecificUnsafeProjection extends org.apache.spark.sql.catalyst.expressions.UnsafeProjection {
    /* 006 */
    /* 007 */   private Object[] references;
    ...
    ...
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-23
      • 1970-01-01
      • 1970-01-01
      • 2017-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多