Hive数据备份和恢复

2019-05-05  本文已影响0人  麦子星星

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

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

备份示例:

use GRC_BIGDATA;insert overwrite local directory '/root/grc_bigdata/backup/src_companyinfo' ROWFORMAT DELIMITED FIELDS TERMINATEDBY'|'STOREDASTEXTFILEselect*fromsrc_companyinfo;

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

备份之后的目录结构如下:

[root@cdh-node3src_companyinfo]#ll 总用量

11580-rw-r--r--1 root root 8482661 11月11 19:38 00

0000_0-rw-r--r--1 root root 2261124 11月11 19:38 00

0001_0-rw-r--r--1 root root 1109324 11月11 19:38 000002_0

在Hue中浏览的src_xtbillmx2013_st的目录结构如下: 

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

2,把磁盘中的文件恢复到Hive中。 

先在hive中执行建表脚本:

CREATE TABLE IFNOT EXIST Ssrc_xtbillmx2013_st (twbmoneyfdouble,  cxbzdouble,  paixudouble, ywlxid string,  swbzdouble)ROWFORMAT DELIMITED FIELDS TERMINATEDBY'|'STOREDASTEXTFILE;

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

use GRC_BIGDATA;LOAD DATA LOCALINPATH'/root/grc_bigdata/backup/src_xtbill2013_st'OVERWRITEINTOTABLEsrc_xtbill2013_st;

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

从Linux文件系统中恢复以上数据,耗时41217秒,大概11.4个小时。

原文

上一篇 下一篇

猜你喜欢

热点阅读