对有变化的数据按照变化的dt重新计算

需求背景:

处理累积性表时候,我们导入当天的新增和变化,对于新增的数据,导入新的分区,

对于变化的数据,去更新历史的,而避免了全量更新

现在同样需要一个方案,对于dt的数据,如何对dwd->ads的有变化的dt进行重新计算

#!/bin/bash
db=paascloud
hive=/opt/cloudera/parcels/CDH-5.16.2-1.cdh5.16.2.p0.8/bin/hive
if [ $1 ];
then
        do_date1=$1
else
        echo "指定计算日期"
exit
fi

flag=`$hive -e "
use $db;
set hive.cli.print.header=false;
set HIVE_SKIP_SPARK_ASSEMBLY=true;
select 
ct
from (
        select
                date_format(ordercreatetime, 'yyyy-MM-dd') as ct
        from
                ods_order
        where
               dt = '$1' 
) t group by ct
;

"`
arr1=() 

for i in $flag
do
	       if [[ $i == "20"* ]] && [[ ${#i} == 10 ]]
                	then
			arr1+=($i)
       		fi
done


 strA=$flag
 strB="信息"
 result=$(echo $strA | grep "${strB}")
 if [[ "$result" != "" ]]
 then
    	 echo "$1"
 else
     	#echo "$flag"
	echo ${arr1[*]}
 fi

使用

for i in `/root/bin/paascloud/get_changed_dt.sh $dt`

do
        echo ===================执行变化的日期:$i ===========================
	f $i
done

参考链接:https://blog.csdn.net/lz6363/article/details/87557951

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值