Как Apache Zeppelin вычисляет индикатор выполнения работы Spark? - PullRequest
0 голосов
/ 18 июня 2019

При запуске искрового задания из интерфейса ноутбука Apache Zeppelin отображается индикатор выполнения выполнения задания. Но что на самом деле означает этот прогресс? Иногда оно сжимается или расширяется. Это прогресс текущей стадии или целой работы?

1 Ответ

1 голос
/ 19 июня 2019

В веб-интерфейсе индикатор выполнения показывает значение, возвращаемое функцией getProgress (не реализовано для каждого интерпретатора, например python ).

Эта функция возвращаетпроцент.

При использовании интерпретатора Spark значение представляется как процент выполненных задач (вызов следующей функции progress из JobProgressUtil ):

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.

...