5

你能帮帮我吗?我使用 hive 0.10.0 hive> 显示表;

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.thrift.EncodingUtils.setBit(BIZ)B
    at org.apache.hadoop.hive.ql.plan.api.Query.setStartedIsSet(Query.java:487)
    at org.apache.hadoop.hive.ql.plan.api.Query.setStarted(Query.java:474)
    at org.apache.hadoop.hive.ql.QueryPlan.updateCountersInQueryPlan(QueryPlan.java:309)
    at org.apache.hadoop.hive.ql.QueryPlan.getQueryPlan(QueryPlan.java:450)
    at org.apache.hadoop.hive.ql.QueryPlan.toString(QueryPlan.java:622)
    at org.apache.hadoop.hive.ql.history.HiveHistory.logPlanProgress(HiveHistory.java:503)
    at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1097)
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:973)
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:893)
    at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259)
    at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216)
    at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:412)
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:759)
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:613)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:208)
4

3 回答 3

2

出现此问题是因为“libthrift”jar 版本不兼容。所以,我下载了最新的 libthrift-0.9.3.jar,它对我有用。

于 2015-12-16T07:36:28.487 回答
1

当我遇到这个问题时,这是我的情况:

HADOOP_HOME/lib中,我放置mahout-examples-0.7-job.jar了 ,它不应该用于其他一些练习。

当我运行 Hive 时,它​​给了我同样的错误,就像你的问题一样。

mahout.X.y.jar从搬来lib,然后开始使用 Hive CLi,它就像一个魅力。

于 2014-01-03T12:34:05.743 回答
1

我遇到了类似的问题。使用的 Hive 版本与 Hadoop 不兼容。hadoop 使用的thrift 版本与hive 使用的不同。最好使用 Hive 的兼容版本或将 Hadoop 使用的 thirft (jar) 库替换为 hive 使用的库。

于 2013-07-07T14:01:16.380 回答