当前位置:   article > 正文

Hive恢复误删数据表_hive误删内部表如何查询时间

hive误删内部表如何查询时间

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

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

  1. <property>
  2. <name>fs.trash.interval</name>
  3. <value>1440</value>
  4. </property>
  5. <property>
  6. <name>fs.trash.checkpoint.interval</name>
  7. <value>0</value>
  8. </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;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/686487
推荐阅读
相关标签
  

闽ICP备14008679号