方式一:(此方法需要建库建表)
第一步:建库建表
在原集群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