Hive数据备份和恢复

Hive数据备份和恢复,第1张

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

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

备份示例:

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

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

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

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

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

先在hive中执行建表脚本:

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

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

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

原文

网上搜索方案是:

https://www.cnblogs.com/cxzdy/p/4934849.html

可是,我用的是阿里的oss存储的文件。

所以网上第二步不可行。

所以,新方式

思路:

考虑到load data 比 insert overwrite快,所以选了load data,但是load data后数据到了新目录,老目录下就没有了,慎用哦。如果不想这样就采用 insert overwrite方式。

另外用了 insert overwrite 也需要刷新元数据(MSCK REPAIR TABLE tableName)

nsert overwrite 方式 directory路径后也可以指定行分割符等。例:row format delimited fields terminated by '\001'


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10062153.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存