2012-02-01 4 views
2

는 내가 hive-0.7.1-cdh3u2의 하이브 버전을 사용하고 Create external with Partition문제는

같이 하이브 테이블을 만들었습니다. 내가 간단한 쿼리를 실행할 때, 즉 count (*)를 선택하면 오류가 발생합니다.

hive> select count(*) from test where dt='2012-01-30' and hr='17'; 
Total MapReduce jobs = 1 
Launching Job 1 out of 1 
Number of reduce tasks determined at compile time: 1 
In order to change the average load for a reducer (in bytes): 
    set hive.exec.reducers.bytes.per.reducer=<number> 
In order to limit the maximum number of reducers: 
    set hive.exec.reducers.max=<number> 
In order to set a constant number of reducers: 
    set mapred.reduce.tasks=<number> 
Starting Job = job_201201311809_0006, Tracking URL = http://localhost:15030/jobdetails.jsp?jobid=job_201201311809_0006 
Kill Command = /Users/balaji/svn/app/hadoop/hadoop-0.20.2-cdh3u2/bin/hadoop job -Dmapred.job.tracker=localhost:10012 -kill job_201201311809_0006 
2012-01-31 21:20:58,074 Stage-1 map = 0%, reduce = 0% 
2012-01-31 21:21:25,402 Stage-1 map = 100%, reduce = 100% 
Ended Job = job_201201311809_0006 with errors 

그리고 JobTracker에 오류가

FAILED 

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 
    at org.apache.hadoop.hive.shims.Hadoop20SShims$CombineFileRecordReader.initNextRecordReader(Hadoop20SShims.java:306) 
    at org.apache.hadoop.hive.shims.Hadoop20SShims$CombineFileRecordReader.<init>(Hadoop20SShims.java:269) 
    at org.apache.hadoop.hive.shims.Hadoop20SShims$CombineFileInputFormatShim.getRecordReader(Hadoop20SShims.java:366) 
    at org.apache.hadoop.hive.ql.io.CombineHiveInputFormat.getRecordReader(CombineHiveInputFormat.java:413) 
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:371) 
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:325) 
    at org.apache.hadoop.mapred.Child$4.run(Child.java:270) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:396) 
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1127) 
    at org.apache.hadoop.mapred.Child.main(Child.java:264) 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun 

사람이 도움을 주시기 바랍니다 수 있습니다. 나는이 문제로 인해 완전히 막혔다. 감사!

+0

그것도 아닌 외부 테이블 일어나는가 주셔서 감사합니다? 어떤 버전의 hadoop을 사용하고 있습니까? – wlk

+0

비 외부 테이블을 사용하지 않았습니다. 나는 hadoop-0.20.2-cdh3u2를 사용하고 있습니다. – Balaji

+0

안녕하세요 Wojtek - 외부 테이블이 아닌 경우에도 문제가 발생합니다. 나는 그 문제가 w.r.t 의존성이지만 그것이 어떤 원인인지 확실하지 않다고 가정한다. – Balaji

답변

3

문제점을 발견했습니다. 하이브는 하둡에서 그것을 실행하기 위해 Serde jar를 찾고있었습니다. 하이브-default.xml에있는 속성을 추가하여 고정 당함

<property> 
    <name>hive.aux.jars.path</name> 
    <value>serde jar path in hadoop</value> 
</property>