一、引言:

  快下班的时候我开发同事问能不能将hive中drop掉的数据恢复过来,我记得是有开回收站的,当时我回答说可以恢复的。

二、恢复过程:

  在之前我有对hadoop的回收站有过了解,就是将hdfs dfs -rm删除掉的文件进行恢复,只需要hdfs dfs -mv将文件从回收站中搬过来就行,我就先使用这个方法,但是效果不佳,执行select count(*) from table_name,得到的结果为0。这个时候我想到这个表被drop掉以后在mysql的元数据库中已经没有数据了,那就得需要将这些数据的信息重新写入到mysql中。具体恢复步骤如下:

  1、创建表:

CREATE TABLE temp_richard(
op_time string,
province_id string,
pay_type string,
client_type string,
index_id string,
index_value bigint ) PARTITIONED BY (dayid string) stored as rcfile location '/dw/tmp/temp_richard';

  2、将回收站中的数据cp出来一份:

hdfs dfs -cp /user/hadoop/.Trash/Current/dw/dm/tmp_richard /tmp/richard/

  3、将临时目录下的数据load到表中:

load data inpath '/tmp/zhulh/dayid=20160101/000000_0' into table tmp_richard PARTITION (dayid='');

  备注:这里需要将每个分区的数据load到相应的分区表中。

  4、验证数据:

hive> select count(*) from tmp_richard;

三、重点说明:

  hive 中使用truncate命令将表截断的话,它是不会进回收站的,是没办法恢复的。这个跟oracle truncate有点类似的。

Hadoop之hive的drop table恢复的更多相关文章

  1. DROP TABLE 恢复【一】

    当DROP TABLE指令敲下的时候,你很爽,你有考虑过后果么?如果该表真的没用,你DROP到无所谓,如果还有用的,这时你肯定吓惨了吧,如果你有备份,那么恭喜你,逃过一劫,如果没有备份呢?这时就该绝望 ...

  2. Hadoop生态圈-Hive快速入门篇之HQL的基础语法

    Hadoop生态圈-Hive快速入门篇之HQL的基础语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客的重点是介绍Hive中常见的数据类型,DDL数据定义,DML数据操作 ...

  3. hive drop和恢复partition external table

    在hdfs目录:/user/xx/table/test_external 保存 test_external 表数据 先建表,使用列式存储格式 CREATE external TABLE `test_e ...

  4. Hive drop table batched

    if the hive version not support drop table tablename purge. your drop table command will move data t ...

  5. Hive drop table卡住的问题

    在hive中,show tables,create 等命令能正常执行,删除表drop table x时,会出现卡住的现象. 进入mysql, show variables like 'char%' 可 ...

  6. MySQL5.7下面,误操作导致的drop table db1.tb1; 的恢复方法:

    MySQL5.7下面,误操作导致的drop table db1.tb1; 的恢复方法: 0.停业务数据写入.[iptables封禁] 1.从备份服务器上拉取最新的一个全备文件,恢复到一个临时的服务器上 ...

  7. Hive drop table,create table没有反应处理方法

    Hive drop table时没有反应,于是强制中断. 解决之法,对其进行补充. mysql> show variables like 'char%';第一步:进入mysql,输入:show ...

  8. [Hive - LanguageManual] Alter Table/Partition/Column

    Alter Table/Partition/Column Alter Table Rename Table Alter Table Properties Alter Table Comment Add ...

  9. Hadoop之Hive篇

    想了解Hadoop整体结构及各框架角色建议飞入这篇文章,写的很好:http://www.open-open.com/lib/view/open1385685943484.html .以下文章是本人参考 ...

随机推荐

  1. [CareerCup] 16.1 Thread and Process 线程和进程

    16.1 What's the difference between a thread and a process? 进程Process是程序执行时的一个实例.一个进程是被分配系统资源的独立单元,每个 ...

  2. 8.0/9.0 Email 设置

    Email 设置一直都是Odoo的一个坑,巨坑. 先讲结论,发邮件可以用,收还是算了吧 1. 发邮件设置 发的设置相对简单,如果企业邮箱支持catcll all功能,基本不用改动可以直接用,否则需要安 ...

  3. MySQL数据库基本数据类型

    1.整型 2. 浮点数类型和定点数类型 3.日期与时间类型 4.字符串类型 5. 二进制类型

  4. bzoj4517: [Sdoi2016]排列计数--数学+拓展欧几里得

    这道题是数学题,由题目可知,m个稳定数的取法是Cnm 然后剩下n-m本书,由于编号为i的书不能放在i位置,因此其方法数应由错排公式决定,即D(n-m) 错排公式:D[i]=(i-1)*(D[i-1]+ ...

  5. MySQL 5.7贴心参数之binlog_row_image

    相信大家都了解mysql binlog的格式,那就是有三种,分别是STATEMENT,MiXED,ROW.各有优劣,具体的请大家自行查阅资料.在MySQL 5.7版本以前,虽然ROW格式有各种各样的好 ...

  6. MySQL进阶

    小知识: \G 放到sql语句后,可以使每个字段打印到单独的行,如: mysql> select * from user_msg limit 2 \G; 一.增加删除表字段的ALTER命令: A ...

  7. JavaScript 进阶教程一 JavaScript 中的事件流 - 事件冒泡和事件捕获

    先看下面的示例代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Jav ...

  8. inotify配合rsync实现文件同步

    一.slave端rsync设置在此部署rsync服务和rsync daemon 1.安装rsync   2.配置rsyncd.conf文件#vi /etc/rsyncd.conf配置文件uid = r ...

  9. maketrans translate

    1. makestrans()用法 语法: str.maketrans(intab, outtab]); Python maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的 ...

  10. iScroll.js和swiper.js

    最近系统地学习了iScroll.js和swiper.js,感觉它们在移动端特别好用:http://www.360doc.com/content/14/0724/11/16276861_39669990 ...