Spark应用程序和日志记录MDC(映射诊断上下文)

4
我正在寻找一种方法,将我的驱动程序的MDC转发到主节点和工作节点,以便我可以识别来自同一操作的消息?例如,我有一个应用程序相关的查询/作业ID,我希望将其附加到我的Spark工作器中的结构化日志消息中。
  • 不可能吗?
  • 未记录?
  • 很容易,只是我太笨了找不到?
问候。

你有没有找到这个问题的答案? - Glide
很遗憾,不行。 - Joachim Rosskopf
1个回答

3
如果我理解正确的话(我是Spark的新手),根据3.1版本的更新,现在可以通过spark.sparkContext.setLocalProperty("mdc." + name, "value")添加自定义MDC条目。请参考PR了解更多详细信息。

1
这并不适用于所有的Spark日志,例如Spark SQL记录器和org.apache.spark.scheduler.TaskSetManager或org.apache.spark.storage.ShuffleBlockFetcherIterator,这些都是不会使用由Spark上下文设置的MDC的示例。 - bachr
我在TaskSetManager上也遇到了同样的问题。你有什么办法在那里获取MDC吗? - Emile Sonneveld

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接