在实际开发或生产中,hive表如果被误删,如被truncate或是分区表的分区被误删了,只要在回收站的清空周期内,是可以恢复数据的,步骤如下:
(1) 先找到被删除数据的存放目录,一般是在~/user/*/.Trash/目录下,可以根据关键词去找,例如:
(2)将回收站里的数据复制到表的数据存储目录
如果不清楚表的存储目录的书,可以使用“show create table table_name”来查看,数据复制命令:
hdfs dfs -cp 回收站目录数据/* 数据表存储目录/
(3)执行hive的修复命令
打开hive客户端,执行修复命令:
msck repair table table_name;
(4)数据验证
对恢复后的数据表进行验证,包括数据内容和数据条数的验证。