[Spark] Hive on MR跑通,Hive on Spark报错 NullPointerException

版本:Spark1.5.1   Hive1.3.0

运行的SQL:较为复杂的、含多层join或大表小表join的SQL.

 

报错信息:

HiveServer2-Handler-Pool:Thread-Pool Thread-130| FAILED: NullPointerException null

java.lang.NullPointerException

at java.util.ArrayList.<init>(Arraylist.java:177)

at org.apache.hadoop.hive.q1.optimizer.physical.SparkMapJoinResolver$SparkMapJoinTaskDispatcher.generateLocalWord(SparkMapJoinResolver.java:213)

at org.apache.hadoop.hive.q1.optimizer.physical.SparkMapJoinResolver$SparkMapJoinTaskDispatcher.processCurrentTask(SparkMapJoinResolver.java:343)

at org.apache.hadoop.hive.q1.optimizer.physical.SparkMapJoinResolver$SparkMapJoinTaskDispatcher.dispatch(SparkMapJoinResolver.java:323)

 

解决方法:

在客户端设置下 set hive.auto.conver.join=false即可成功跑通

 

原因:这个参数是mapjoin的参数,用于优化大表join小表,速度可以更快。对于功能和实现无影响。

分类上一篇:     分类下一篇:

Leave a Reply