Exception in thread “main” java.lang.IncompatibleClassChangeError: Class com.google.common.collect.ImmutableSotil.NavigableMap
Exception in thread "main" java.lang.IncompatibleClassChangeError: Class com.google.common.collect.ImmutableSotil.NavigableMap
at org.apache.calcite.schema.Schemas.gatherLattices(Schemas.java:498)at org.apache.calcite.schema.Schemas.getLatticeEntries(Schemas.java:492)at org.apache.calcite.jdbc.CalciteConnectionImpl.init(CalciteConnectionImpl.java:153)at org.apache.calcite.jdbc.Driver$1.onConnectionInit(Driver.java:109)at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:139)at java.sql.DriverManager.getConnection(DriverManager.java:664)at java.sql.DriverManager.getConnection(DriverManager.java:208)at org.apache.calcite.tools.Frameworks.withPrepare(Frameworks.java:150)at org.apache.calcite.tools.Frameworks.withPlanner(Frameworks.java:111)at org.apache.hadoop.hive.ql.parse.CalcitePlanner.logicalPlan(CalcitePlanner.java:1414)at org.apache.hadoop.hive.ql.parse.CalcitePlanner.getOptimizedAST(CalcitePlanner.java:1430)at org.apache.hadoop.hive.ql.parse.CalcitePlanner.genOPTree(CalcitePlanner.java:450)at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12161)at org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:330)at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:285)at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:659)at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1826)at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1773)at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1768)at org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:126)at org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:214)at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:239)at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:188)at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:402)at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:821)at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:759)at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:683)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.hadoop.util.RunJar.run(RunJar.java:239)at org.apache.hadoop.util.RunJar.main(RunJar.java:153)
而且只有查询的时候会报错,建表都可以
以前用的hadoop2.7.7,hive是3.1.1,突然出现这个问题
网上一点解决办法都没找到,所以只能想到重新换个hive,(更换过程非常非常简单,不用觉得很麻烦,下面来说一下)
这次下载了个2.3.6,感觉可以是版本不太兼容的问题,所以换了个
只需要解压到相同的目录,把以前的conf下的配置的文件复制过来,以前创建的文件夹,比如logs,tmp等创建一下,然后把原来的删除,把现在的hive改成原来的名字,然后就可以了。完美解决!!