失败:访问 Hive 视图时执行错误,从 org.apache.hadoop.hive.ql.exec.mr.MapRedTask 异常返回代码 2

问题描述 投票:0回答:1

我正在尝试访问 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,但没有运气。

请帮帮我。

蒂亚

sql apache-spark hadoop hive view
1个回答
0
投票

当我发现这是由于多种原因造成的时,这可能是一个将多个批次一起批处理的转移注意力的错误。在没有看到表 ddl 或执行程序日志的情况下,这是我能提供的最佳答案。

(1) java 错误,导航至此作业实例的纱线日志并读取执行程序日志。如果由于相对罕见的错误而导致此错误,您可以在这里找到它。祝你好运,这可能会很痛苦。

(2)后台服务器异常,重启hadoop和hive元素并重新运行命令。

(3)尝试在另一个进程中调用底层数据。这将发现数据是否与 ddl 不匹配或已损坏。

(4)表的修复和失效

msck repair table <table-name>
invalidate metadata <table-name>

祝你好运。

© www.soinside.com 2019 - 2024. All rights reserved.