복붙노트

[HADOOP] 하이브에서 선택 쿼리를 실행하는 동안 오류

HADOOP

하이브에서 선택 쿼리를 실행하는 동안 오류

나는 하둡 1.1.2, HBase를 0.94.8을 사용하고 0.14 하이브하고 있습니다. I'am 나중에 삽입 덮어 쓰기하여에서 하이브로드 데이터를 사용하여 HBase와의 테이블을 만들려고.

순간 나는 테이블을 만들 수 있었다 :

CREATE TABLE hbase_table_emp(id int, name string, role string) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:role")
TBLPROPERTIES ("hbase.table.name" = "emp");

그리고 나는 HBase를 테이블에 덮어 쓸 것 다른 테이블로 데이터를로드 :

hive> create table testemp(id int, name string, role string) row format delimited fields terminated by '\t';
hive> load data local inpath '/home/user/sample.txt' into table testemp;

하지만 testemp에서 선택 *을하려고 할 때, 데이터가 I이 오류가 성공적으로로드되었는지 확인합니다 :

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.mapred.JobConf.unset(Ljava/lang/String;)V
    at org.apache.hadoop.hive.ql.io.HiveInputFormat.pushFilters(HiveInputFormat.java:432)
    at org.apache.hadoop.hive.ql.exec.FetchTask.initialize(FetchTask.java:76)
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:443)
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:303)
    at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1067)
    at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1129)
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1004)
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:994)
    at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:247)
    at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:199)
    at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:410)
    at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:783)
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:677)
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:616)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:622)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:156)

누군가가 나에게 제발 도움을 줄 수! 감사합니다

해결법

  1. ==============================

    1.불행하게도, 난 당신이 적어도 1.2.0에 하둡을 업그레이드해야합니다 생각합니다.

    불행하게도, 난 당신이 적어도 1.2.0에 하둡을 업그레이드해야합니다 생각합니다.

    하이브는 org.apache.hadoop.mapred.JobConf 클래스의 해제 방법을 액세스를 시도하는 것 같습니다. 하둡 1.1.2에서 그 클래스에 대한 API 문서를보고, 당신은 방법이 존재하지 않는 것을 볼 수 있습니다.

    그 방법이 구현 도착하는 1.x에서 시리즈 첫 번째 릴리스 (같은 클래스의 API 문서를 참조) 1.2.0입니다. 이 방법은 실제로 org.apache.hadoop.conf.Configuration 클래스에서 상속 도착합니다.

  2. from https://stackoverflow.com/questions/28070003/error-while-executing-select-query-in-hive by cc-by-sa and MIT license