
# 使用Spark引擎执行复杂的Hive SQL任务时报错"java.lang.StackOverflowError"
#### 问题
MRS 3.6.0-LTS及之后版本，使用Spark引擎运行复杂的Hive SQL任务失败，在HiveServer运行日志中查看报错信息，内容如下：
```
...
Caused by: org.apache.spark.SparkException: java.lang.StackOverflowError
at java.io.ObjectStreamClass$WeakClassKey.<init>(ObjectStreamClass.java:2600)
at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:382)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1209)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1637)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1598)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1521)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1253)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:409)
at scala.collection.immutable.List$SerializationProxy.writeObject(List.scala:516)
at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
```
#### 处理步骤
1. 可以在Hive客户端调大以下参数**-Xss** 的值：
   
   **set spark.executor.extraJavaOptions=-Xss** *10M* **;**
   **set spark.driver.extraJavaOptions=-Xss** *10M;*
   **set spark.yarn.cluster.driver.extraJavaOptions=-Xss** *10M* **;**
   
   
2. 参数调大后再重新运行Hive SQL任务。
 
