我正在尝试访问 Hive 中的视图,出现以下异常:
Getting log thread is interrupted, since query is done!
Error: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask (state=08S01,code=2)
java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
at org.apache.hive.jdbc.HiveStatement.waitForOperationToComplete(HiveStatement.java:349)
at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:251)
at org.apache.hive.beeline.Commands.executeInternal(Commands.java:988)
at org.apache.hive.beeline.Commands.execute(Commands.java:1160)
at org.apache.hive.beeline.Commands.sql(Commands.java:1074)
at org.apache.hive.beeline.BeeLine.dispatch(BeeLine.java:1145)
at org.apache.hive.beeline.BeeLine.execute(BeeLine.java:976)
at org.apache.hive.beeline.BeeLine.begin(BeeLine.java:886)
at org.apache.hive.beeline.BeeLine.mainWithInputRedirection(BeeLine.java:502)
at org.apache.hive.beeline.BeeLine.main(BeeLine.java:485)
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:498)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
这是我的配置单元查询:
select * from sample_view;
我已将 SPARK_HOME/jars 路径添加到 $HIVE_HOME/bin/hive,例如:
for f in ${SPARK_HOME}/jars/*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done
我已经尝试过,
hive.execution.engine
、mr以及spark,但没有运气。
请帮帮我。
蒂亚
当我发现这是由于多种原因造成的时,这可能是一个将多个批次一起批处理的转移注意力的错误。在没有看到表 ddl 或执行程序日志的情况下,这是我能提供的最佳答案。
(1) java 错误,导航至此作业实例的纱线日志并读取执行程序日志。如果由于相对罕见的错误而导致此错误,您可以在这里找到它。祝你好运,这可能会很痛苦。
(2)后台服务器异常,重启hadoop和hive元素并重新运行命令。
(3)尝试在另一个进程中调用底层数据。这将发现数据是否与 ddl 不匹配或已损坏。
(4)表的修复和失效
msck repair table <table-name>
invalidate metadata <table-name>
祝你好运。