Hive数据备份和恢复

本文说明如何通过把Hive中的数据备份到磁盘中,并从磁盘中恢复到Hive中。

1,把Hive中的表数据备份到磁盘中。
备份示例:

use GRC_BIGDATA;
insert overwrite local directory '/root/grc_bigdata/backup/src_companyinfo' ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE  select * from src_companyinfo;

以上语句说明,把src_companyinfo表中的数据以‘|’为分隔符号,并备份到“/root/grc_bigdata/backup/src_companyinfo”目录中。
备份之后的目录结构如下:

[root@cdh-node3 src_companyinfo]# ll
总用量 11580
-rw-r--r-- 1 root root 8482661 11月 11 19:38 000000_0
-rw-r--r-- 1 root root 2261124 11月 11 19:38 000001_0
-rw-r--r-- 1 root root 1109324 11月 11 19:38 000002_0

在Hue中浏览的src_xtbillmx2013_st的目录结构如下:
这里写图片描述

从以上结果可以看出,数据文件输出的个数与表在Hive中存储的文件个数不一定一致。

2,把磁盘中的文件恢复到Hive中。
先在hive中执行建表脚本:

CREATE TABLE IF NOT EXISTS src_xtbillmx2013_st 
(
twbmoneyf          double,                                      
cxbz                    double,                                      
......                      
paixu                   double,                                      
ywlxid                  string,                                      
swbz                    double
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE;

然后在Hive中执行如下导入命令:

use GRC_BIGDATA;
LOAD DATA LOCAL INPATH '/root/grc_bigdata/backup/src_xtbill2013_st' OVERWRITE INTO TABLE src_xtbill2013_st;

3,在Hive中备份46个表、一共552GB的数据到Linux文件系统,一共耗时55386 秒,大概15.4个小时。
从Linux文件系统中恢复以上数据,耗时41217秒,大概11.4个小时。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值