Hive: TApplicationException: Internal error processing get_partition_names 错误的解决方法

有时候,某些非常规的操作会导致将要建立数据库/表与保存在metastore里的数据库/表的信息发生冲突,导致无法建立相应的数据库/表。举个例子:如果没有使用常规的drop database/table去删除一个数据库或是表,而是直接在hdfs上删除了相应的文件夹或文件,比如:/user/hive/warehouse/xxxxx.db,然后当你重新试图使用建库脚本建库时,有可能会报出:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.thrift.TApplicationException: Internal error processing get_partition_names

(备注:为了完整而干净的删除一个数据库,我们可以选择在使用cascade关键字来drop一个database,例如:drop database if exists your-database cascade;)

当然,这里是报出的partition的信息混乱了,也有可能其他元数据出了问题,我们这里只以这个错误信息为例来说明一下解决方法:

是的,原因就像上面提到的,你将要建立的库和metastore中保存的库的元数据冲突了,这时候,我们只能手动删除metastore中的相关数据了!连接到metastore使用的数据库(这里假定是mysql),这个错误是与partition有关的,所以我们要清除partition表里的相关信息,如果我们只有一个库,我们可以简单且粗暴的清空这几个表:

truncate table PARTITION_KEY_VALS;

truncate table PARTITION_PARAMS;

truncate table PARTITIONS;

如果你有多个库,那你需要使用delete table .... where ... 来有选择的删除指定库里的表的partition信息了。

时间: 2024-11-03 21:41:44

Hive: TApplicationException: Internal error processing get_partition_names 错误的解决方法的相关文章

dpkg: error processing package bluez (--configure) 解决方法【转】

转自:http://blog.csdn.net/heray1990/article/details/47803541 在 Ubuntu 执行 sudo apt-get upgrade 时,出现了如下的报错: Setting up bluez (4.101-0ubuntu13.1) ... reload: Job is not running: dbus invoke-rc.d: initscript dbus, action "force-reload" failed. start:

VC6的工程转到VC2010或更高版本出现fatal error C1189编译错误的解决方法

以前也遇到过,当时解决了没写下来,这次正好又遇到了,就顺手写一下吧,别下次又忘记了. 当VC6的工程转到VC2010或更高版本时编译出现如下错误: c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxver_.h(81): fatal error C1189: #error :  Please use the /MD switch for _AFXDLL builds 很多解决方法是把工程属性中的“常规”-“MFC

yum makecache 时出现[Errno -3] Error performing checksum 错误的解决方法

现象: [[email protected] yum.repos.d]# yum clean all Cleaning up Everything [[email protected] yum.repos.d]# yum makecache base                      100% |=========================| 3.7 kB    00:00 9a3a8909e656c27cd85c75a2d 100% |======================

飞鸽传书 bind() error=10048错误的解决方法

提示  bind() 错误=10048 原因:其他程序占用飞鸽的 2425 端口 比如:飞秋也是使用2425端口 解决:用netstat命令查看是哪个进程占用了该端口 格式:netstat -ano | find "2425" 结果:  UDP    0.0.0.0:2425     *:*        1716 最后的1716就是占用2425进程的进程ID,看看是什么,可以结束的直接结束该进程,再打开飞鸽就可以了. 关于netstat命令可以输入命令 netstat /? 查看更多

VS2010出现FileTracker : error FTK1011编译错误的解决办法

VS2010出现FileTracker : error FTK1011不知道是不是vs2010的一个bug,反正有人提交了. FileTracker : error FTK1011编译错误的解决办法有三个,推荐使用第二个 方法一:把目标框架改为Framewotk=4.0方法二:新增环境变量TRACKFILEACCESS=false:操作步骤:右击"我的电脑"(或"计算机")-->"高级"-->"环境变量"-->

window10 安装出现the error code is 2503错误的解决方法

window10 安装出现the error code is 2503错误的解决方法: 设置 C:\WINDOWS\TEMP的权限

navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法

原文:navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法 navicat是通过oracle客户端连接oracle服务器的. oracle的客户端有两种,一种标准的客户端安装程序,下载地址: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

ORA-06502: PL/SQL: numeric or value error: character to number conversion error 错误的解决方法

故障描述:中间层调用存储过程报错,到PL/SQL中对存储过程进行调试报以下错误 ORA-06502: PL/SQL: numeric or value error: character to number conversion errorORA-06512: at "PROCESS_DRUG_SAME_AS_INFO", line 24ORA-06512: at line 1 错误原因: 找到存储过程PROCESS_DRUG_SAME_AS_INFO,并将代码定位在24行,发现代码中两

yum安装软件包时出现Transaction Check Error:错误的解决方法

[[email protected] ~]# yum install ipa-server Transaction Check Error:  file /usr/share/man/man3/XML::SAX::Base.3pm.gz conflicts between attempted installs of perl-XML-SAX-0.96-7.el6.noarch and perl-XML-SAX-Base-1.04-1.el6.rf.noarch  file /usr/share/