迁移老集群的Hive表结构和数据到新集群中

总体思路:

1、从旧集群中导出表结构,库和表众多的情况下,使用shell脚本批量导出

2、从旧集群导出的sql建表语句做一些修改,在新集群中执行即可

3、使用distcp命令复制数据文件,需要指定hive表的路径

4、验证是否数据是否迁移成功,可以到hdfs网页查看和在hive库中查看

 

一、导出表结构

1、首先在hive中执行 show databases;

2、把需要导出的hive库都准备好,然后修改下面的命令,导出某个库里的所有表名到文件中

hive -e "use mxsj;show tables;" > tables.txt

3、修改下面的脚本,下面的脚本是把某库中的所有表结构导出到文件中,把脚本内容写到一个文件exporttab.sh中

#!/bin/bash
cat trajx_tables.txt |while read eachline
do
hive -e "use trajx;show create table $eachline" >>trajx_tablesDDL.txt
echo ";" >> trajx_tablesDDL.txt
done  

二、在新集群中导入表结构

把导出的trajx_tablesDDL.txt文件scp 到新集群的服务器上

需要用vim修改一下文件内容,在开头增加建库语句和use语句

如下:

create database mxsj;
use mxsj;

以及注

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值