Em meu shell de faísca, o que entradas como as abaixo significam quando eu executo uma função?
[Stage7:===========> (14174 + 5) / 62500]
apache-spark
rmckeown
fonte
fonte
Respostas:
O que você obtém é um
Console Progress Bar
,[Stage 7:
mostra o estágio em que você está agora, e(14174 + 5) / 62500]
é(numCompletedTasks + numActiveTasks) / totalNumOfTasksInThisStage]
. A barra de progresso mostranumCompletedTasks
/totalNumOfTasksInThisStage
.Será mostrado quando ambos
spark.ui.showConsoleProgress
forem verdadeiros (por padrão) e o nível de registroconf/log4j.properties
forERROR
ouWARN
(!log.isInfoEnabled
verdadeiros).Vamos ver o código em ConsoleProgressBar.scala que o mostra:
fonte
Vamos supor que você veja o seguinte (X, A, B, C são sempre inteiros não negativos):
(por exemplo, na pergunta X = 7, A = 14174, B = 5 e C = 62500)
Aqui está o que está acontecendo em alto nível: o Spark divide o trabalho em estágios e tarefas em cada estágio. Este indicador de progresso significa que o Estágio X é composto de tarefas C. Durante a execução, A e B começam em zero e continuam mudando. A é sempre o número de tarefas já concluídas e B é o número de tarefas em execução no momento. Para um estágio com muitas tarefas (muito mais do que os trabalhadores que você tem), você deve esperar ver B crescer a um número que corresponde a quantos trabalhadores você tem no cluster, então você deve começar a ver A aumentar conforme as tarefas são concluídas. No final, conforme as últimas tarefas são executadas, B começará a diminuir até atingir 0, quando o ponto A deve ser igual a C, o estágio está concluído e a centelha passa para o próximo estágio. C permanecerá constante durante todo o tempo, lembre-se que é o número total de tarefas no estágio e nunca muda.
O ====> mostra a porcentagem de trabalho realizado com base no que descrevi acima. No início, o> estará para a esquerda e se moverá para a direita conforme as tarefas são concluídas.
fonte