从Apache Zeppelin笔记本电脑界面启动Spark作业时,它会向您显示作业执行的进度条。但是,这一进展实际上意味着什么?有时它会缩小或扩展。是当前阶段的进展还是整个工作?
答案 0 :(得分:1)
在Web界面中,进度条显示了getProgress
函数返回的值(并非为每个交织者都实现,例如python)。
此函数返回一个百分比。
使用Spark解释器时,该值似乎是已完成任务的百分比(从JobProgressUtil调用以下progress
函数):
def progress(sc: SparkContext, jobGroup : String):Int = {
val jobIds = sc.statusTracker.getJobIdsForGroup(jobGroup)
val jobs = jobIds.flatMap { id => sc.statusTracker.getJobInfo(id) }
val stages = jobs.flatMap { job =>
job.stageIds().flatMap(sc.statusTracker.getStageInfo)
}
val taskCount = stages.map(_.numTasks).sum
val completedTaskCount = stages.map(_.numCompletedTasks).sum
if (taskCount == 0) {
0
} else {
(100 * completedTaskCount.toDouble / taskCount).toInt
}
}
与此同时,我在Zeppelin文档中找不到指定的内容。