0%

Hive表误删导致数据丢失的解决方案

不小心把Hive表删了咋办?主管还有30秒到达战场?

莫慌,Hive能用这么久,数据安全性还是很ok的。

如果是外部表,那恭喜你,数据还在,重新建表,路径保持一致,然后执行以下命令恢复表的元数据:

1
MSCK REPAIR TABLE default.tbl;

如果是内部表,去HDFS下找到回收站目录,找到删除的表,我的路径是:/user/hive/.Trash/Current/user/hive/warehouse/default.db/tbl

进去目录,发现数据还在(默认保存3天),接下来复制到表路径下:

1
2
3
hdfs dfs -cp \ 
/user/hive/.Trash/Current/user/hive/warehouse/default.db/tbl \
/user/hive/warehouse//default.db/tbl

select以下,发现数据已经恢复了,笑了半截主管来了!