hive集群中间(临时)表定时清理shell脚本
#!/bin/sh
#hive集群中间表定时清理脚本
databases="odb pdb"
#hive集群中所有库库名
stime=`date +%s`
#记录当前时间
for db in $databases
do
#遍历所有库
echo "===========================开始清理库$db======================================="
hive -e "use $db;show tables like 'vra*res*tmp';" >/home/deployer/zcb/tmp/db_tmp.txt
#取出当前库中中间表表名
echo "=========================该库下有以下中间表===================================="
cat /home/deployer/zcb/tmp/db_tmp.txt
#输出显示当前库中中间表表名
echo "=========================中间表展示完毕========================================"
for tb in `cat /home/deployer/zcb/tmp/db_tmp.txt`
do
hive -e "use $db;drop table if exists $tb"
#挨个表删除
done
echo "===========================清理库结束$db======================================="
done
etime=`date +%s`
s=`echo "scale=0; ($etime - $stime)%60" | bc`
m=`echo "scale=0; ($etime - $stime)/60%60" | bc`
h=`echo "scale=0; ($etime - $stime)/60/60" | bc`
echo "========================================脚本执行完毕========================================="