2016-08-27 3 views
3

Моя задача была завершена, и я получил ожидаемый результат подсчета RDD. Я запускаю интерактивную оболочку PySpark. Я пытаюсь понять, что означает данное предупреждение:Без каскадов, но numRunningTasks! = 0

WARN ExecutorAllocationManager: Нет ступеней не работает, но numRunningTasks = 0

От Спарк ВНУТРЕННЕГО code Я нашел это:

// If this is the last stage with pending tasks, mark the scheduler queue as empty 
    // This is needed in case the stage is aborted for any reason 
    if (stageIdToNumTasks.isEmpty) { 
     allocationManager.onSchedulerQueueEmpty() 
     if (numRunningTasks != 0) { 
     logWarning("No stages are running, but numRunningTasks != 0") 
     numRunningTasks = 0 
     } 
    } 

Может кто-нибудь объяснить, пожалуйста?


Я говорю о задаче с идентификатором 0.

enter image description here


Я могу сообщить, что это поведение с MLlib искры, с KMeans(), где the one of the two samples, как говорят, с меньшими задачами. Я не уверен, что если работа будет не в состоянии или пока нет ..

2 takeSample at KMeans.scala:355 2016/08/27 21:39:04 7 s 1/1 9600/9600 
1 takeSample at KMeans.scala:355 2016/08/27 21:38:57 6 s 1/1 6608/9600 

Набора входа 100х точек, 256 размеров.

Некоторые из параметров в PySpark: мастер пряжи, режим кластера,

spark.dynamicAllocation.enabled    false 
# Better serializer - https://spark.apache.org/docs/latest/tuning.html#data-serialization 
spark.serializer       org.apache.spark.serializer.KryoSerializer 
spark.kryoserializer.buffer.max    2000m 

# Bigger PermGen space, use 4 byte pointers (since we have < 32GB of memory) 
spark.executor.extraJavaOptions    -XX:MaxPermSize=512m -XX:+UseCompressedOops 

# More memory overhead 
spark.yarn.executor.memoryOverhead   4096 
spark.yarn.driver.memoryOverhead   8192 

spark.executor.cores      8 
spark.executor.memory      8G 

spark.driver.cores       8 
spark.driver.memory       8G 
spark.driver.maxResultSize     4G 
+0

Насколько велика установка ввода и какие параметры вы передаете в pyspark? –

+0

@FokkoDriesprong Я отправил ответ, вы можете взглянуть, если хотите! :) – gsamaras

ответ

1

мы получили этот код:

... 
    // If this is the last stage with pending tasks, mark the scheduler queue as empty 
    // This is needed in case the stage is aborted for any reason 
    if (stageIdToNumTasks.isEmpty) { 
     allocationManager.onSchedulerQueueEmpty() 
     if (numRunningTasks != 0) { 
     logWarning("No stages are running, but numRunningTasks != 0") 
     numRunningTasks = 0 
     } 
    } 
    } 
} 

от искры из GitHub, где комментарий является лучшим информация до сих пор.

 Смежные вопросы

  • Нет связанных вопросов^_^