1.文件:table_config_order 内容如下
test.tb_test_basic work_date 1,2 3 2018-04-25
--- scheam.table 时间分区字段 每天都跑的处理方式 保留最近3天 数据时间分区存在起始时间
2.文件:delete_partitions.sh 内容如下
#!/bin/bash
#每天跑一次,和月末跑一次的程序可用crontab 定时计划执行#检查分区是否存在
function check_partition(){
#table,dt
temp=`hive -e "show partitions $1"`
echo $temp|grep -wq "$2"
if [ $? -eq 0 ];then
echo "ok"
return 0
else
return 1
fi
}
##table dt 开始时间 结束时间
function date0(){
if [ $# == 4 ]; then
begin_date=`date -d "+0 day $3" +%Y-%m-%d`
end_date=`date -d "+0 day $4" +%Y-%m-%d`
date=${end_date}
sql=''
while [[ "${date}" > "${begin_date}" || "${date}" = "${begin_date}" ]]
do
sql=${sql}"ALTER TABLE $1 DROP IF EXISTS PARTITION($2 = '$date');"
date=`date -d "$dat