群集模式下的Spark记录无任何打印

时间:2015-10-04 20:50:59

标签: scala logging apache-spark

在本地模式下运行时,这会将日志打印到控制台:

object Util extends Logging {

    val df: DataFrame = ???

    df.select("id", "name")
      .rdd.foreach(r => log.warn("here"))
}

但是在群集模式下运行时却没有。我相信它是因为log命令在工作节点而不是主节点上执行。

使用println(...)

时也是如此

如何在控制台中显示日志结果?

1 个答案:

答案 0 :(得分:1)

如果您在群集上运行作业,首先应collect rddrdd.collect().foreach(r ⇒ log.warn("here")) 数据。

rdd

但收集所有take可能不是一个好主意,因此您可以使用def flat Position.select(:id, :name).map{|p| {id: p.id, name: p.attributes}} + PositionSynonyms.select(:position_id, :name).map{|s| {id: s.position_id, name: s.name}} end 函数来获取少量要打印的rdd元素。