数据迁移——hive表结构迁移
表结构导出
- 获取test数据库建表语句的shell脚本hive-export.sh
#!/bin/bash
##批量获取hive建表HQL脚本
#数据库名
DB="test"
#自动获取当前日期-月日
date=$(date +%m%d)
#hql文件保存路径
databak_dir=/home/kzq/hivebackup
#获取hive数据库的表名
tables=$(hive -e "use $DB; show tables;")
echo "use $DB;" >> $databak_dir/${DB}${date}.hql
for table in $tables;
do
echo "--============ db: $DB , table: $table ============" >> $databak_dir/${DB}${date}.hql
echo "DROP TABLE IF EXISTS $table;" >> $databak_dir/${DB}${date}.hql
echo "$(hive -e "use $DB;show create table $table;");" >> $databak_dir/${DB}${date}.hql
done
执行1.sh即可获得test数据库的建表语句文件test0330.hql。
root@***-***-***:/home/kzq/hivebackup#./hive-export.sh
表结构导入
- hive建表 ,目标服务器hive中新建test目标数据库,执行建表语句文件即可
root@***-***-***:/home/kzq/hivebackup#hive -f test0330.hql