Hello,all:
【My environment versions are :Hadoop 2.6.0 、hive 1.2.1、tez 0.7.0】
Now I executed a HQL “select count(*) from h_im;”(h_im is an external
table, hbase table) in hive CLI, it throw exceptions:
(I am sorry, I can not copy the error information here, because we use
inner network,so some information will be omitted)
INFO [Dispatcher thread: Central] history.HistoryEventHandler: .... .....
at
org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor.run(TezProcessor.java:172)
at
org.apache.hadoop.hive.ql.exec.tez.TezProcessor.run(TezProcessor.java:137)
at
org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:337)
...... .......
Caused by: java.lang.RuntimeException:
org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while
processing writable org.apache.hadoop.hive.hbase....
at
org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.processRow(MapRecordSource.java:92)
at
org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.pushRecord(MapRecordSource.java:68)
at
org.apache.hadoop.hive.ql.exec.tez.MapRecordProcessor.run(MapRecordProcessor.java:367)
at
org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor.run(TezProcessor.java:149)
.... 14 more
Caused by : java.lang.NullPointerException
at
com.fiberhome.nebula.datacenter.hbasehandler.NBHBaseSerde.deserialize(NBHBaseSerde.java:210)
at
org.apache.hadoop.hive.ql.exec.MapOperator$MapOpCtx.readRow(MapOperator.java:145)
at
org.apache.hadoop.hive.ql.exec.MapOperator$MapOpCtx.access$2(MapOperator.java:143)
at
org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:512)
..... 18 more
I found this
"org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor.run(TezProcessor.java:149)",
In my hive source code:
----------------------------------------------------------------------------------------------
line 147: MRTaskReporter mrReporter = new MRTaskReporter(getContext));
line 148: rpoc.init(mrReporter, input, outputs);
line 149: rpoc.run();
--------------------------------------------------------------------------------------------------
I added a LOG message before line 149:
"LOG.info("-----TezProcessor.run(), rpoc is " + rpoc.getClass());"
it wasn't printed in container log. why?(hive.compute.splits.in.am=true) I can
not understand,should I change yarn log configurations?
Any reply will be appreciated.
Thankyou & Best Regards.
---LLBian