org.apache.hadoop.hive.metastore.api.InvalidOperationException cannot be cast to java.lang.RuntimeEx

来源:互联网 发布:linux 自动运行脚本 编辑:程序博客网 时间:2024/06/05 11:25

最近工作中hive -e 执行hive 的load data 命令总是抛出错误:

执行sql为:

LOAD DATA INPATH '/user/dd_edw/data/jobstracker/jboxmldata.txt' OVERWRITE INTO TABLE fdm.fdm_jobtracker_log partition(dt='2013-11-03')

错误信息:

Caused by: java.lang.ClassCastException: org.apache.hadoop.hive.metastore.api.InvalidOperationException cannot becast to java.lang.RuntimeException        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.rename_partition(HiveMetaStore.java:1916)        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.alter_partition(HiveMetaStore.java:1884)        at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.alter_partition(HiveMetaStoreClient.java:818)        at org.apache.hadoop.hive.ql.metadata.Hive.alterPartition(Hive.java:427)        at org.apache.hadoop.hive.ql.metadata.Hive.getPartition(Hive.java:1464)        ... 18 more

 

找了很长时间原因,在hive 命令行执行sql的时候,在hive cli命令行可以执行,但是hive - e 或者hive -f 都是存在问题的,

一直以为是分区的问题,

后来经过大神指点原来原因是在fdm.fdm_jobtracker_log, 把数据库的信息去掉执行就OK,原因暂时还不详细,hive官方也是存在此bug还为解决:

https://issues.apache.org/jira/i#browse/HIVE-3414   -----

Exception cast issue in HiveMetaStore.java

原创粉丝点击