恢复 Hive 删除表,数据库

背景:CDH集群hue窗口操做,删除database;sql

hive中使用 drop table或者drop database 删除数据以后是能够进行恢复的,truncate掉的数据目前没法恢复。数据库

删除掉的数据能够在trash文件夹中找到,点击restore恢复至删除前的文件位置,若是删除的时间比较久回收站被清除也没法恢复。app

恢复步骤:rest

  1. 恢复数据至原位置

    找到回收站

     

  2. 找到删除的文件夹,按时间找便可时间文件夹我是12月14日删除的因此直接找到第三个对应的文件夹code

  3. 恢复文件夹恢复文件夹恢复文件可在文件系统下找到blog

  4. 新建数据库并将位置指向恢复的文件夹位置io

    create database test location '/app/hive/warehouse/test'

     

  5. 如今库中是没有表结构的,也就是说数据是有了,可是hive的元数据中并无表的记录,因此须要新建表,表名须要跟数据库下面以及的文件夹名保持彻底相同,表结构须要跟删除前的表结构相同也就是可以与文件中的数据对应。table

  6. 若是不是分区表如今就能够经过sql查看数据了,若是是分区表的话还须要进行修复分区的操做class

    MSCK REPAIR TABLE teat_table;

    至此,修复完成。test

  7. 如果将表删除了则能够经过回复表的文件夹(与表名相同)而后在数据库中从新建表便可。