繁体   English   中英

如何在Spark中打开TRACE日志记录

How to turn on TRACE logging in spark

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我注意到,每次催化剂改变计划时,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'设置为使记录器的一部分处于跟踪模式,但是我似乎无法使催化剂使用催化剂拿起设置。

我究竟做错了什么?

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;
...
...

希望这可以帮助!

1 如何在 IntelliJ 中控制 Spark 日志记录

我通常从 JUnit 运行东西,但我也试过从main运行,它没有区别。 我已经阅读了近两打 SO 问题、博客文章和文章,并尝试了几乎所有方法来让 Spark 停止记录这么多。 我尝试过的事情: 资源文件夹中的log4j.properties (在src和test ) 使用spark-sub ...

2 如何在 .NET Core 库中记录 Trace?

我知道您可以在程序或控制器中使用 ILogger 的依赖注入,因此日志消息可能会出现在控制台和其他记录器中。 但是,在 .net 核心库中,我想使用 Trace.TraceError() 和 Trace.TraceInformation() 等,甚至使用 TraceSource。 是否可以使 Tr ...

4 实现静态Trace类进行日志记录

我正在尝试实现一个利用System.Diagnostics.Trace进行日志记录的类。 我想控制何时要向文件(侦听器)写入/刷新数据,所以我想禁用AutoFlush = False但是由于我使用的是静态类,所以我想知道应该如何刷新所有剩余数据,以免丢失立即关闭应用程序(包含Trace类)时要 ...

6 如何关闭 Spark 中的 INFO 日志记录?

我使用 AWS EC2 指南安装了 Spark,我可以使用bin/pyspark脚本很好地启动程序以进入 spark 提示,也可以成功执行快速入门指南。 但是,我终生无法弄清楚如何在每个命令之后停止所有详细的INFO日志记录。 我在conf文件夹中的log4j.properties文件中的以下代 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM