参考:https://issues.apache.org/jira/browse/HIVE-21489
(一)问题描述:
Hive-2.3.4 执行 explain select * from src in hive-2.3.4
报 ClassCastException: org.apache.hadoop.hive.ql.parse.ExplainSemanticAnalyzer cannot be cast to org.apache.hadoop.hive.ql.parse.SemanticAnalyzer
(二)解决方法
- 找到Hive-2.3.4 源码;
-
修改两个类: /ql/src/java/org/apache/hadoop/hive/ql/Driver.java /ql/src/java/org/apache/hadoop/hive/ql/parse/ExplainSemanticAnalyzer.java
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java index cac14a6..70a8028 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java @@ -114,6 +114,7 @@ import org.apache.hadoop.hive.ql.

在Hive 2.3.4版本中执行explain命令时遇到了ClassCastException,具体表现为无法将ExplainSemanticAnalyzer转换为SemanticAnalyzer。问题源于源码的不匹配。解决方法包括找到并修改Hive-2.3.4的源码,涉及Driver.java和ExplainSemanticAnalyzer.java两个文件,然后重新编译生成class文件,替换hive-exec-2.3.4.jar中的相应文件。
最低0.47元/天 解锁文章
1609

被折叠的 条评论
为什么被折叠?



