Hive表数据误删除恢复

498 阅读1分钟

针对数据恢复的两种情况

  • 真误删数据了
  • 业务表新增或删除了字段,表压缩又是ORC压缩无法使用 ALTER TABLE命令去调整字段值,只能从新建表。从新建表又需要考虑到数据回插新表的问题。

实战

前置要求:你HDFS开启了垃圾回收站机制,没开别看了,直接把这个页面赶紧关了别浪费时间

如果是第一种情况以及不带分区的表直接使用MV命令移动至对应目录下即可

hadoop fs -mv < hdfs file > < hdfs file >

hadoop fs -mv /user/hive/.Trash/220304170000/user/hive/warehouse/ods.db/ods_yszt_owner_house_property_owner/* /user/hive/warehouse/ods.db/ods_yszt_owner_house_property_owner

如果表带分区,还需执行以下操作修复分区元数据

MSCK REPAIR TABLE <tableName>;