当前位置: 首页 > 知识库问答 >
问题:

如何在火花中打开 TRACE 日志记录

昌琪
2023-03-14

我注意到在 Spark 中的规则探索器每次催化剂更改计划时都会执行跟踪日志:

https://github . com/Apache/spark/blob/78801881 c 405 de 47 f 7 e 53 EEA 3 e 0420 DD 69593 DBD/SQL/catalyst/src/main/Scala/org/Apache/spark/SQL/catalyst/rules/rule executor . Scala # L93

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

我已经在代码中钻研了一段时间,我发现你可以设置“log4j”。threshold=TRACE”使记录器的一部分处于跟踪模式,但我似乎无法让catalyst使用记录器来获取设置。

我做错了什么?

共有1个答案

钦侯林
2023-03-14

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

< code>SparkSession.builder()。getOrCreate()。sparkContext()。setlog level(" 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;
...
...

希望这有帮助!

 类似资料:
  • 我将pyspark应用程序从我自己的工作站上的pycharm启动到一个8节点集群。这个群集还有编码在spark-defaults.conf和spark-env.sh中的设置 显示未来的信息消息,但到那时已经太晚了。 如何设置spark开始时的默认日志记录级别?

  • 在运行spark作业时,可以在事件日志中以纯文本形式看到SSL密钥密码、keystorepassword。你能帮我如何从日志中隐藏这些密码吗? 当我看到下面的内容时,https://issues.apache.org/jira/browse/spark-16796似乎是他们修复了它,使其不受web UI的影响。但我不确定我能用原木修复它 你的帮助真的很感激!! “{”事件“:”SparkListe

  • 当我使用spark运行一个作业时,我会得到以下日志?

  • 我可以在Spark的log4j.properties中使用与我的虚拟应用程序中相同的设置来配置appender。 但是当Spark shell启动时,它似乎在加载任何额外的jar之前就启动了记录器,然后立即抛出一个错误,因为它找不到Kafka appender: log4j:错误无法实例化类[kafka.producer.kafkalog4jappender]。ClassNotFoundExcep

  • 问题内容: 我在用 : 输出为: 我如何只打印不带日期和INFO的消息? 问题答案: 使用系统属性更改SimpleFormatter的格式: 或在logging.properties中: 所有这些属性都以format方法记录。

  • 问题内容: 我使用AWS EC2指南安装了Spark,并且可以使用脚本正常启动该程序以获取Spark提示,并且还可以成功执行快速入门Quide。 但是,我无法终生解决如何在每个命令后停止所有冗长的日志记录。 我在下面的代码(注释掉,设置为OFF)中的几乎所有可能的情况下都尝试了该文件夹,该文件夹位于我从中以及在每个节点上启动应用程序的文件夹中,没有任何反应。执行每个语句后,我仍然可以打印日志记录语