数据开发之补数脚本
如果数据少了需要重新跑一段时间的数据怎么办?这个时候就应该用到补数脚本。
#!/bin/bash
#作者:shyming
#创建时间:2021-11-08
#n为天数,执行前n天的数据统计
n=10
today=`date +%Y-%m-%d`
sql="
select '建表';
"
hive -e "${sql}"
#定义方法,便于传参循环跑数
function update_exec(){
hql="
select '处理';
"
hive -e "${hql}"
if [ $? -eq 0 ];then
echo "数据 $ETL_DATE 更新完成"
else
echo "数据 $ETL_DATE 更新失败"
exit 1
fi
}
#循环跑数
echo "开始更新近${n}天数据"
while ((n>0))
do
ETL_DATE=`date -d "${today} -$n days" +%Y-%m-%d`
update_exec ${ETL_DATE}
let n--
done
echo "数据更新完成"
结果展示