Что означают цифры на индикаторе выполнения в спарк-оболочке?
10003 просмотра
2 ответа
Что в моей командной оболочке означает, что записи, подобные приведенным ниже, означают, когда я выполняю функцию?
[Stage7:===========> (14174 + 5) / 62500]
Автор: rmckeown
Источник
Размещён: 12.11.2019 09:27
Ответы (2)
96 плюса
То, что вы получаете Console Progress Bar
,
[Stage 7:
показывает, на какой стадии вы находитесь сейчас, и
(14174 + 5) / 62500]
есть (numCompletedTasks + numActiveTasks) / totalNumOfTasksInThisStage]
. Индикатор выполнения показывает numCompletedTasks
/ totalNumOfTasksInThisStage
.
Это будет показано, когда оба spark.ui.showConsoleProgress
имеют значение true (по умолчанию) и уровень журнала в conf/log4j.properties
is ERROR
или WARN
( !log.isInfoEnabled
true).
Давайте посмотрим код в ConsoleProgressBar.scala, который показывает это:
private def show(now: Long, stages: Seq[SparkStageInfo]) {
val width = TerminalWidth / stages.size
val bar = stages.map { s =>
val total = s.numTasks()
val header = s"[Stage ${s.stageId()}:"
val tailer = s"(${s.numCompletedTasks()} + ${s.numActiveTasks()}) / $total]"
val w = width - header.length - tailer.length
val bar = if (w > 0) {
val percent = w * s.numCompletedTasks() / total
(0 until w).map { i =>
if (i < percent) "=" else if (i == percent) ">" else " "
}.mkString("")
} else {
""
}
header + bar + tailer
}.mkString("")
// only refresh if it's changed of after 1 minute (or the ssh connection will be closed
// after idle some time)
if (bar != lastProgressBar || now - lastUpdateTime > 60 * 1000L) {
System.err.print(CR + bar)
lastUpdateTime = now
}
lastProgressBar = bar
}
Автор: yjshen
Размещён: 15.05.2015 01:30
29 плюса
Предположим, вы видите следующее (X, A, B, C всегда неотрицательные целые числа):
[Stage X:==========> (A + B) / C]
(например, в вопросе X = 7, A = 14174, B = 5 и C = 62500)
Вот что происходит на высоком уровне: Spark разбивает работу на этапы и задачи на каждом этапе. Этот индикатор прогресса означает, что Этап X состоит из задач C. Во время выполнения A и B начинаются с нуля и продолжают изменяться. A - это всегда количество уже выполненных задач, а B - это количество задач, выполняемых в настоящее время. Для этапа со многими задачами (намного больше, чем у ваших рабочих) вы должны ожидать, что B вырастет до числа, соответствующего количеству рабочих в кластере, а затем вы должны увидеть увеличение по мере выполнения задач. К концу, когда выполняются последние несколько задач, B начнет уменьшаться, пока не достигнет 0, после чего точка A должна равняться C, этап завершен, и искра переместится на следующий этап. C будет оставаться постоянным в течение всего времени, помните, что это общее количество задач на этапе и никогда не меняется.
====> показывает процент выполненной работы на основе того, что я описал выше. Вначале> будет слева и будет двигаться вправо, когда задачи завершены.
Автор: gae123 Размещён: 26.09.2017 02:39Вопросы из категории :
- apache-spark Как сделать акулу / искру очистить кеш?
- apache-spark (PySpark) Вложенные списки после reduByKey
- apache-spark Spark java.lang.OutOfMemoryError: пространство кучи Java
- apache-spark Apache Spark: map vs mapPartitions?
- apache-spark Spark: лучшая практика для извлечения больших данных из RDD на локальный компьютер
- apache-spark В чем разница между map и flatMap и хорошим вариантом использования для каждого?
- apache-spark Задача не сериализуема: java.io.NotSerializableException при вызове функции вне замыкания только для классов, а не объектов
- apache-spark Spark не хватает памяти при группировке по ключу
- apache-spark Как распечатать содержимое RDD?
- apache-spark импорт pyspark в оболочку python
- apache-spark Как мне запустить graphx с Python / pyspark?
- apache-spark Получение идентификатора запуска приложения для задания Spark
- apache-spark Модифицировать коллекцию внутри каждого Spark RDD
- apache-spark Запись в несколько выходов по ключу Spark - одно задание Spark
- apache-spark Как прочитать несколько текстовых файлов в одном RDD?
- apache-spark java + spark: org.apache.spark.SparkException: задание прервано: задача не сериализуема: java.io.NotSerializableException
- apache-spark Записывать и читать необработанные байтовые массивы в Spark - используя файл последовательности SequenceFile
- apache-spark Ошибка подключения EsOutputFormat при использовании искры
- apache-spark Как конвертировать CSV-файл в RDD
- apache-spark how to make saveAsTextFile NOT split output into multiple file?