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'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)