Hive恢复误删数据表

1.前提:要开启垃圾箱,才能进行数据表恢复

core-site.xml配置一下参数,fs.trash.checkpoint.interval 为0,表示禁用垃圾箱;设置对应时间【单位:分钟】进行垃圾文件回收、暂存

<property>  
    <name>fs.trash.interval</name>  
    <value>1440</value>  
</property>  
<property>  
    <name>fs.trash.checkpoint.interval</name>  
    <value>0</value>  
</property>

2.从垃圾箱查找到对应时间删除、覆盖的数据

hdfs dfs -ls /user/hadoop/.Trash/220628170000/hive//dw/ods.db/ods_test/

3.然后创建临时表,复制到临时表的hdfs目录进行恢复

create table  ods.ods_test_2022   like ods_test ;

hdfs dfs -cp hdfs dfs -ls /user/hadoop/.Trash/220628170000/hive//dw/ods.db/ods_test/* hdfs dfs -ls /user/hadoop/.Trash/220628170000/hive//dw/ods.db/ods_test_20222/

4.查看无误后,进行元数据修复【恢复元数据,解决分区表分区信息;解决Spark读取非分区表无数据的情况(实际已经恢复成)】

hive -e "msck repair table ods.ods_test_2022;"

5.然后将临时表命名为目标数据表

hive>

alter table test   rename to ods_test_2022;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值