Apache spark 如何识别正在运行的JVM是Apache Spark中的驱动程序还是执行程序

Apache spark 如何识别正在运行的JVM是Apache Spark中的驱动程序还是执行程序,apache-spark,Apache Spark,我正在尝试将Spark日志扩展到Elasticsearch。我正在寻找一种方法,在构建log语句时,识别此消息是由驱动程序记录的还是来自执行者的 有什么建议吗?我将用下面的代码来区分驱动程序和执行程序 object test{ def main(args:Array[String]){ log.info("This is driver") val sparkSession = ??? spark.read ...

我正在尝试将Spark日志扩展到Elasticsearch。我正在寻找一种方法,在构建log语句时,识别此消息是由驱动程序记录的还是来自执行者的


有什么建议吗?

我将用下面的代码来区分驱动程序和执行程序

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
和其他转换/操作之间的任何操作都在执行器上执行,其他所有操作都在驱动程序上执行


希望这能澄清

转换中的任何内容(映射、平面映射、过滤器等)都将在执行器上执行。