master üzerinde kaynak koduna hızlı bir vızıltı (https://github.com/kayousterhout/spark-1/blob/master/core/src/main/scala/org/apache/spark/executor/Executor.scala#L179)
Aslında şu: Ben her görev JARs deserializing şüpheleniyorsanız bu hat (taskFiles, taskJars, taskBytes)
itibaren
val (taskFiles, taskJars, taskBytes) = Task.deserializeWithDependencies(serializedTask)
updateDependencies(taskFiles, taskJars)
task = ser.deserialize[Task[Any]](taskBytes, Thread.currentThread.getContextClassLoader)
// If this task has been killed before we deserialized it, let's quit now. Otherwise,
// continue executing the task.
if (killed) {
// Throw an exception rather than returning, because returning within a try{} block
// causes a NonLocalReturnControl exception to be thrown. The NonLocalReturnControl
// exception will be caught by the catch block, leading to an incorrect ExceptionFailure
// for the task.
throw new TaskKilledException
}
attemptedTask = Some(task)
logDebug("Task " + taskId + "'s epoch is " + task.epoch)
env.mapOutputTracker.updateEpoch(task.epoch)
; Benim durumumda, yardımcı olmayan bir 136 MB şişman JAR var.
Haklı olduğundan emin değilim. Burada seyir: https://github.com/kayousterhout/spark-1/blob/master/core/src/main/scala/org/apache/spark/executor/Executor.scala#L371, 'jars' sadece içerirler isim ve zaman damgası, bu yüzden desirialze için çok zaman almamalı – lev