hive集群中间(临时)表定时清理shell脚本

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 "========================================脚本执行完毕========================================="


发布了86 篇原创文章 · 获赞 17 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章