2015-02-23 104 views
4

我在ORC文件格式表上查詢時遇到了問題Hive在Hive中處理行時的運行時錯誤

我正在下面查詢。

INSERT INTO表。選擇從。條件;

TaskAttempt 2失敗,info = [錯誤:運行任務時失敗:java.lang.RuntimeException:java.lang.RuntimeException:org.apache.hadoop.hive.ql.metadata.HiveExceptio Hive處理行時發生運行時錯誤 at org.apache.hadoop.hive.ql.exec.tez.TezProcessor.run(TezProcessor.java:org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:186) ) 138) 在org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:324) 在org.apache.tez.runtime.task.TezTaskRunner $ $ TaskRunnerCallable 1.run(TezTaskRunner.java:176) 在有機.apache.tez.runtime.task.TezTaskRunner $ TaskRunnerCallable $ 1.run(TezTaskRunner.java:168) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628 ) 在org.apache.tez.runtime.task.TezTaskRunner $ TaskRunnerCallable.call(TezTaskRunner.java:168) 在org.apache.tez.runtime.task.TezTaskRunner $ TaskRunnerCallable.call(TezTaskRunner.java:163) 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor)上的java.util.concurrent.FutureTask.run(FutureTask.java:266) (java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 的.java:617) 在java.lang.Thread.run(Thread.java:745) 通過使用:java.lang.Runt imeException:org.apache.hadoop.hive.ql.metadata.HiveException:處理行 時Hive運行時錯誤,位於org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.processRow(MapRecordSource.java:91) at org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.pushRecord(MapRecordSource.java:68) 在org.apache.hadoop.hive.ql.exec.tez.MapRecordProcessor.run(MapRecordProcessor.java:294) at org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:163) ... 13更多 使用者:org.apache.hadoop.hive.ql.metadata.HiveException:處理行 時Hive運行時錯誤,位於org.apache.hadoop.hive.ql.exec.vector.VectorMapOperator.process(VectorMapOperator.java:52) ,位於org.apache.hadoop.hive.ql.exec.tez.MapRecordSource。 PROC essRow(MapRecordSource.java:83) ... 16更多 使用者:org.apache.hadoop.hive.ql.metadata.HiveException:在org.apache.hadoop.hive.ql.exec處評估'Hotels4U' 時出錯.vector.VectorSelectOperator.processOp(VectorSelectOperator.java:126) at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:815) at org.apache.hadoop.hive.ql.exec .TableScanOperator.processOp(TableScanOperator.java:95) at org.apache.hadoop.hive.ql.exec.MapOperator $ MapOpCtx.forward(MapOperator.java:157) at org.apache.hadoop.hive.ql.exec .vector.VectorMapOperator.process(VectorMapOperator.java:45) ... 17更多 使用者:java.lang.ArrayIndexOutOfBoundsException:48 at org.apache.hadoop.hive.ql.exec。 vector.expressions.ConstantVectorExpression.evaluateBytes(ConstantVectorExpression.java:124) at org.apache.hadoop.hive.ql.exec.vector.expressions.ConstantVectorExpression.evaluate(ConstantVectorExpression.java:156) at org.apache.hadoop。 hive.ql.exec.vector.VectorSelectOperator.processOp(VectorSelectOperator。java:124)

回答

1

要解決此問題,請在hive shell中設置以下參數。

hive>set hive.vectorized.execution.enabled=false; hive>set hive.vectorized.execution.reduce.enabled=false;

然後運行插入覆蓋命令。

2

我有類似的問題。原來這是因爲我沒有足夠的空間。在我刪除Hive中的一些舊錶並釋放一些內存空間後,它可以正常工作。

+0

其中一個贊成。從HDFS刪除舊文件幫助我解決了這個問題。非常感謝。 – sunitha 2017-04-07 08:30:02