集群间hive数仓迁移

方式一:(此方法需要建库建表)

第一步:建库建表

在原集群hive上查看迁移表的建表语句及所在库,然后在新集群hive上建库建表;

show create table tb_name;

create database db_name;

create table tb_name .....

第二步:转移数据文件到新集群;

在旧集群中下载数据到本地

hadoop fs  -get /user/hive/warehouse/dc_ods.db/tb_name /home/zhang.xl/tb_name;

如果文件过大则压缩,再发送到新集群(若两集群网络互通则使用scp拷贝过去,不互通下载到本地再上传到新集群);

tar -czvf tb_name.tar.gz tb_name

scp -p端口 tb_name.tar.gz  用户@ip:目标目录

新集群解压文件,数据导入到新集群文件系统中;

tar -xf tb_name.tar.gz

hadoop fs  -put /home/zhang.xl/tb_name/* /user/hive/warehouse/dc_ods.db/tb_name ;

第三步:新集群中将数据导入hive

新集群使用beeline进入hive,修复分区表,执行后自动退出hive客户端;

beeline -u " jdbc:hive2://10.9.xx.xx:10000 name pwd"  -e "msck repair table tb_nam

你可能感兴趣的:(database)