hive集群中間(臨時)表定時清理shell指令碼

2021-10-02 06:01:22 字數 1186 閱讀 6335

#!/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`

dohive -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 "****************************************指令碼執行完畢****************************************="

臨時表與中間表

外部臨時表 通過create temporary table 建立的臨時表,這種臨時表稱為外部臨時表。這種臨時表只對當前使用者可見,當前會話結束的時候,該臨時表會自動關閉。這種臨時表的命名與非臨時表可以同名 同名後非臨時表將對當前會話不可見,直到臨時表被刪除 內部臨時表 內部臨時表是一種特殊輕量級的...

hive 外部表 內部表 臨時表

1.外部表 關鍵字 external 外部表建立時需要指定location 刪除外部表時,資料不被刪除 create external table page view viewtime int,userid bigint,page url string,referrer url string,ip ...

HIVE 資料庫臨時表

hive從0.14.0開始提供建立臨時表的功能,表只對當前session有效,session退出後,表自動刪除。語法 create temporary table 注意點 1 如果建立的臨時表表名已存在,那麼當前session引用到該錶名時實際用的是臨時表,只有drop或rename臨時表名才能使用...