最近在做集群迁移工作,旧生产平台的hive数仓需要迁移到新的平台,因此,需要将hive所有生产库的表都新建一份,手动传太麻烦,搞了个shell脚本读取,读取结果基本可用,就是每个DDL语句最后的location需要用notepadd++的正则匹配的方式干掉,算是个小瑕疵吧,代码如下:
#!/bin/bash
#填写库名
DATABASE=$1
#获取表名
hive -e "use $DATABASE;show tables;" >> tableName.txt
############################################################
#循环打印表结构
cat tableName.txt|while read eachline
do
hive -e "use $DATABASE;show create table $eachline" >> ${DATABASE}_tableSchema.txt
done