一、完整报错
- INFO ApplicationMaster: Unregistering ApplicationMaster with FAILED (diag message: User class threw exception: org.apache.spark.SparkException: Job aborted.
- Caused by: java.lang.StackOverflowError
at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:438)
at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:600)
at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:600)
at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:600)
at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:600)
at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:600)
at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:600)
本文详细介绍了Spark应用中遇到的StackOverflowError错误,分析了错误原因,主要是递归调用过深导致的栈溢出。提出了减少递归深度、优化代码逻辑、增加堆栈大小等解决方法,并提供了四种具体解决方案,包括梳理计算逻辑、增大Driver线程栈、增加Driver内存以及关闭Whole Stage Codegen等。
订阅专栏 解锁全文
2763

被折叠的 条评论
为什么被折叠?



