首页 > 解决方案 > 通过 Spark-Shell 运行时获取分区日志

问题描述

我在 EMR 集群中使用 Spark-Shell 运行我的代码。示例是:

[hadoop@<IP> ~]$ spark-shell --jars <JAR_LIST>  --num-executors 72 --executor-cores 5 --executor-memory 16g --conf spark.default.parallelism=360 
...
scala> val args = Array(...)
scala> org.abc.MainClass(args)
... start ... execution

现在我有类似的代码

dataFrame.foreachPartition { dataSetPartition => {
  val localLogger: Logger = Logger.getLogger("PartitionLogger")
  logger.info("INFO")
  ...
  logger.error("TEST")
  ...

问题是我无法获取分区日志。我该如何分析。

版本:

Spark: 2.2.1
Scala: 2.11

标签: scalaapache-sparkapache-spark-sqlamazon-emrspark-shell

解决方案


查看 Executors 选项卡下的 spark UI,您将看到一个包含每个 exectuor 的 stderr 和 stdout 的日志列。


推荐阅读