醋醋百科网

Good Luck To You!

大数据:如何恢复误删除的 hive 表数据

导语

在大数据环境中,误删除(drop)了 hive 表后如何恢复表数据呢?通过本文步骤可以快速恢复。

恢复过程

①创建测试库/测试表,插入测试数据

create database dengyong;
create table dengyong(id int, name string);
insert into dengyong values(100001, '张三丰');

②模拟删除表

drop table dengyong;
show tables;

③找到建表语句再重新建一张表

create table dengyong(id int, name string);

④使用HDFS回收站恢复数据

a.使用客户端的HDFS命令,hdfs dfs -find /user/*/.Trash -name warehouse(如果是具体的表或者库,warehouse替换为表名或库名),如能查出结果则代表数据还存在回收站中,可以通过还原回收站中文件进行恢复。

hdfs dfs -find  /user/*/.Trash -name dongyong

b.查看hdfs数据目录是否存在,hdfs dfs -ls 数据目录。如存在则执行备份操作,如不存在则直接执行从垃圾回收站中恢复数据

hdfs dfs -ls /user/hive/warehouse/dengyong.db/dengyong

(注:如数据目录原本存在,先备份数据目录,hdfs dfs -mv 数据目录 数据目录_bak)

c.从垃圾回收站(步骤一中查出的目录)中恢复数据:

hdfs dfs -mv垃圾回收站中的目录 数据目录

⑤执行msck repair table_name 修改元数据与数据之间的关系

msck repair table dengyong;

⑥恢复后验证

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言