使用配置单元查询hbase时发生nosuchmethoderror

ohtdti5x  于 2021-05-30  发布在  Hadoop
关注(0)|答案(0)|浏览(220)

尝试使用配置单元查询hbase表时出现此错误:

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.hive.serde2.ColumnProjectionUtils.getReadColumnIDs(Lorg/apache/hadoop/conf/Configuration;)Ljava/util/ArrayList;
            at org.apache.hadoop.hive.hbase.HiveHBaseTableInputFormat.getRecordReader(HiveHBaseTableInputFormat.java:94)
            at org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:471)
            at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:561)
            at org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:534)
            at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:137)
            at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:1519)
            at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:285)
            at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:220)
            at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:423)
            at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:792)
            at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:686)
            at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:625)
            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:483)
            at org.apache.hadoop.util.RunJar.main(RunJar.java:212)

我使用的是hive0.13.1、hadoop2.4.1、hbase 0.98.5。
我使用以下语句创建了一个表:

CREATE TABLE hlogcount(rowkey STRING, date DATE, time STRING, logtype STRING, type STRING, value INT) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ('hbase.columns.mapping' = ':key,f:c1,f:c2,f:c3,f:c4,f:c5') TBLPROPERTIES ('hbase.table.name' = 'hlogcount');

表已成功创建,可以在的输出中看到 show tables; hive lib已经有一个hive-serde-0.13.1.jar,我也尝试过使用hive-serde-0.10.0,但是它也有相同的结果。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题