脚本内容如下:
#!/bin/bash
##获取数据库
databases=$(hive -e "show databases; exit;")
for database in $databases;
do
#获取hive建表语句
tables=$(hive -e "use $database; show tables;")
for table in $tables;
do
echo "--=========== db: $database , table: $table ==========="
echo "--=========== db: $database , table: $table ===========" >> /home/bigdata/ces/ces/table_create.hql
echo "$(hive -e "use $database;show create table $database.$table;");" >> /home/bigdata/ces/ces/table_create.hql
done
done
##获取数据库
#导出所有的数据库,并建库
hive -e "show databases;" > /home/bigdata/ces/ces/tb.txt
list=`cat /home/bigdata/ces/ces/tb.txt`
for val in $list
do
hive -e "create database $val;exit;"
done
批量导入
#一个hql文件,直接执行即可
hive -f table_create.hql