当我运行spark应用程序时,我从web-ui看到一些阶段描述就像“在Option.scala上应用:120”。为什么spark会在一个不在我的spark程序中但是在Scala库中的一个分段?
答案 0 :(得分:0)
这些行是在Utils.getCallStack()
(GitHub link)中生成的。基本上它是堆栈跟踪中最后一个Spark行的方法名称(apply
)加上堆栈中第一个非Spark行的文件名和行号(Option.scala:120
)跟踪。
所以看起来你进行了Option.getOrElse()
调用,你提供的默认值就是从舞台开始的。
在Spark 1.1中,您可以获得每个阶段的完整堆栈跟踪,从而消除猜测。