场景:
- hive删除指定库中的表
- 生成删除、清空表语句等
- Linux语法学习
一、生成删除语句
以hive数据库为例
export_drop.sh
#!/bin/sh
echo '' > temp_tables.txt # 每次执行清空文本
beeline -u jdbc:hive2://192.168.11.110:10000/default -ntest -ptest -e "use adp_usr; show tables ;" | while read line
do
echo "drop table if exists $line;" >> temp_tables.txt
done
# 去除冗余内容;多个匹配替换用 ;隔开
sed -i 's/|//g;s/-//g;s/+//g;s/drop table if exists ;//g' ./temp_tables.txt
二、执行删除脚本
方法一
使用beeline命令(推荐)
mv temp_tables.txt drop_tables.sql
beeline -u jdbc:hive2://192.168.11.110:10000/default -ntest -ptest -f drop_tables.sql
方法二
编写shell脚本
run_drop.sh
#!/bin/sh
tables=`cat ./temp_tables.txt`
echo $tables
beeline -u jdbc:hive2://192.168.11.110:10000/default -ntest -ptest -e "use adp_usr;$tables;"