Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何获取有关当前执行者Apache Spark的元数据?_Apache Spark_Metadata_Executor - Fatal编程技术网

Apache spark 如何获取有关当前执行者Apache Spark的元数据?

Apache spark 如何获取有关当前执行者Apache Spark的元数据?,apache-spark,metadata,executor,Apache Spark,Metadata,Executor,我希望在executor执行时,从executor内部获得尽可能多的信息,但除了使用webui之外,似乎找不到任何关于如何实现这一点的信息。例如,了解哪个执行者正在处理哪个文件,以及何时处理,这将非常有用 我需要这种灵活性进行调试,但找不到任何有关它的信息 谢谢实现它的方法之一是将分区映射到上下文 示例代码: import org.apache.spark.TaskContext val a = sc.parallelize(1 to 9, 3) def myfunc(t

我希望在executor执行时,从executor内部获得尽可能多的信息,但除了使用webui之外,似乎找不到任何关于如何实现这一点的信息。例如,了解哪个执行者正在处理哪个文件,以及何时处理,这将非常有用

我需要这种灵活性进行调试,但找不到任何有关它的信息


谢谢

实现它的方法之一是将分区映射到上下文

示例代码:

  import org.apache.spark.TaskContext

    val a = sc.parallelize(1 to 9, 3)

    def myfunc(tc: TaskContext, iter: Iterator[Int]) : Iterator[Int] = {
    tc.addOnCompleteCallback(() => println( 
    "Partition: " + tc.partitionId + 
    ", AttemptID: " + tc.attemptId
    )
    )
    iter.toList.filter(_ % 2 == 0).iterator 
    }

   a.mapPartitionsWithContext(myfunc)
   a.collect
API:


但是,这并不能回答有关如何查看处理了哪个文件以及何时处理的问题。

是否希望从RDD中获取该文件?如果没有,那么您可以关注SparkListener和ExecuteInfo。是的,我确实希望从RDD获得它,但我将调查SparkListener和ExecuteInfo(谢谢!)