Scala 从Spark中的驱动程序访问任务进度
当应用程序运行时,我试图在Spark中的Scala 从Spark中的驱动程序访问任务进度,scala,apache-spark,rdd,Scala,Apache Spark,Rdd,当应用程序运行时,我试图在Spark中的驱动程序端执行一些操作。驱动程序需要在做出任何决策之前了解任务进度。我知道可以通过调用getProgress()从RecordReader类访问每个executor或task中的任务进度 问题是,如何让驱动程序调用或访问每个任务的getProgress()方法?我考虑过使用广播变量,但我不知道驱动程序如何区分不同的任务 请注意,我不是在寻找Spark UI中显示的结果 感谢您的帮助 一种方法是将进度从每个执行器线程发送到驱动程序中的侦听线程。这必须是一个单
驱动程序
端执行一些操作。驱动程序
需要在做出任何决策之前了解任务进度。我知道可以通过调用getProgress()
从RecordReader
类访问每个executor
或task
中的任务进度
问题是,如何让驱动程序调用或访问每个任务的getProgress()
方法?我考虑过使用广播
变量,但我不知道驱动程序如何区分不同的任务
请注意,我不是在寻找Spark UI中显示的结果
感谢您的帮助 一种方法是将进度从每个执行器线程发送到驱动程序中的侦听线程。这必须是一个单独的线程,因为在操作进行时主线程被阻塞。一种方法是将每个执行线程的进度发送到驱动程序中的侦听线程。这必须是一个单独的线程,因为在操作进行时主线程被阻塞。您是说单个任务的进度?还是工作/阶段的进度?在后面,你可以看到齐柏林飞艇笔记本是如何制作进度条的:单个任务的进度你是说单个任务的进度?还是工作/阶段的进度?对于后面的内容,您可以看到齐柏林飞艇笔记本如何制作进度条:单个任务的进度