我正在尝试将Spark日志记录扩展到Elasticsearch。而且我正在寻找一种方法来标识此消息是由驱动程序记录还是由执行程序记录,同时生成日志语句。
有什么建议吗?
答案 0 :(得分:1)
我将使用以下代码为您提供示例,以区分驱动程序和执行程序,
object test{
def main(args:Array[String]){
log.info("This is driver")
val sparkSession = ???
spark.read
...
.map(x=>{
...
log.info("This is executor")
...
})
log.info("This is driver")
}
}
您会发现map
/ foreach
与其他转换/动作之间的所有操作均在执行程序上执行,其他所有操作均在驱动程序上执行。
希望这可以澄清。