我是靠谱客的博主 欢喜心锁,这篇文章主要介绍数仓搭建DWT层1、DWT层作用2、访客主题3、用户主题4、商品主题5、优惠券主题6、活动主题7、地区主题8、DWT层首日数据导入脚本9、DWT层每日数据导入脚本,现在分享给大家,希望可以做个参考。

1、DWT层作用

以DWS层为基础,对数据进行累积汇总。一行信息代表一个主题对象的累积行为,例如一个用户从注册那天开始至今一共下了多少次单。

2、访客主题

1)建表语句

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
DROP TABLE IF EXISTS dwt_visitor_topic; CREATE EXTERNAL TABLE dwt_visitor_topic ( `mid_id` STRING COMMENT '设备id', `brand` STRING COMMENT '手机品牌', `model` STRING COMMENT '手机型号', `channel` ARRAY<STRING> COMMENT '渠道', `os` ARRAY<STRING> COMMENT '操作系统', `area_code` ARRAY<STRING> COMMENT '地区ID', `version_code` ARRAY<STRING> COMMENT '应用版本', `visit_date_first` STRING COMMENT '首次访问时间', `visit_date_last` STRING COMMENT '末次访问时间', `visit_last_1d_count` BIGINT COMMENT '最近1日访问次数', `visit_last_1d_day_count` BIGINT COMMENT '最近1日访问天数', `visit_last_7d_count` BIGINT COMMENT '最近7日访问次数', `visit_last_7d_day_count` BIGINT COMMENT '最近7日访问天数', `visit_last_30d_count` BIGINT COMMENT '最近30日访问次数', `visit_last_30d_day_count` BIGINT COMMENT '最近30日访问天数', `visit_count` BIGINT COMMENT '累积访问次数', `visit_day_count` BIGINT COMMENT '累积访问天数' ) COMMENT '设备主题宽表' PARTITIONED BY (`dt` STRING) STORED AS PARQUET LOCATION '/warehouse/gmall/dwt/dwt_visitor_topic' TBLPROPERTIES ("parquet.compression"="lzo");

2)数据装载

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
insert overwrite table dwt_visitor_topic partition(dt='2022-04-11') select nvl(1d_ago.mid_id,old.mid_id), nvl(1d_ago.brand,old.brand), nvl(1d_ago.model,old.model), nvl(1d_ago.channel,old.channel), nvl(1d_ago.os,old.os), nvl(1d_ago.area_code,old.area_code), nvl(1d_ago.version_code,old.version_code), case when old.mid_id is null and 1d_ago.is_new=1 then '2022-04-11' when old.mid_id is null and 1d_ago.is_new=0 then '2020-06-13'--无法获取准确的首次登录日期,给定一个数仓搭建日之前的日期 else old.visit_date_first end, if(1d_ago.mid_id is not null,'2022-04-11',old.visit_date_last), nvl(1d_ago.visit_count,0), if(1d_ago.mid_id is null,0,1), nvl(old.visit_last_7d_count,0)+nvl(1d_ago.visit_count,0)- nvl(7d_ago.visit_count,0), nvl(old.visit_last_7d_day_count,0)+if(1d_ago.mid_id is null,0,1)- if(7d_ago.mid_id is null,0,1), nvl(old.visit_last_30d_count,0)+nvl(1d_ago.visit_count,0)- nvl(30d_ago.visit_count,0), nvl(old.visit_last_30d_day_count,0)+if(1d_ago.mid_id is null,0,1)- if(30d_ago.mid_id is null,0,1), nvl(old.visit_count,0)+nvl(1d_ago.visit_count,0), nvl(old.visit_day_count,0)+if(1d_ago.mid_id is null,0,1) from ( select mid_id, brand, model, channel, os, area_code, version_code, visit_date_first, visit_date_last, visit_last_1d_count, visit_last_1d_day_count, visit_last_7d_count, visit_last_7d_day_count, visit_last_30d_count, visit_last_30d_day_count, visit_count, visit_day_count from dwt_visitor_topic where dt=date_add('2022-04-11',-1) )old full outer join ( select mid_id, brand, model, is_new, channel, os, area_code, version_code, visit_count from dws_visitor_action_daycount where dt='2022-04-11' )1d_ago on old.mid_id=1d_ago.mid_id left join ( select mid_id, brand, model, is_new, channel, os, area_code, version_code, visit_count from dws_visitor_action_daycount where dt=date_add('2022-04-11',-7) )7d_ago on old.mid_id=7d_ago.mid_id left join ( select mid_id, brand, model, is_new, channel, os, area_code, version_code, visit_count from dws_visitor_action_daycount where dt=date_add('2022-04-11',-30) )30d_ago on old.mid_id=30d_ago.mid_id;

3、用户主题

1)建表语句

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
DROP TABLE IF EXISTS dwt_user_topic; CREATE EXTERNAL TABLE dwt_user_topic ( `user_id` STRING COMMENT '用户id', `login_date_first` STRING COMMENT '首次活跃日期', `login_date_last` STRING COMMENT '末次活跃日期', `login_date_1d_count` STRING COMMENT '最近1日登录次数', `login_last_1d_day_count` BIGINT COMMENT '最近1日登录天数', `login_last_7d_count` BIGINT COMMENT '最近7日登录次数', `login_last_7d_day_count` BIGINT COMMENT '最近7日登录天数', `login_last_30d_count` BIGINT COMMENT '最近30日登录次数', `login_last_30d_day_count` BIGINT COMMENT '最近30日登录天数', `login_count` BIGINT COMMENT '累积登录次数', `login_day_count` BIGINT COMMENT '累积登录天数', `order_date_first` STRING COMMENT '首次下单时间', `order_date_last` STRING COMMENT '末次下单时间', `order_last_1d_count` BIGINT COMMENT '最近1日下单次数', `order_activity_last_1d_count` BIGINT COMMENT '最近1日订单参与活动次数', `order_activity_reduce_last_1d_amount` DECIMAL(16,2) COMMENT '最近1日订单减免金额(活动)', `order_coupon_last_1d_count` BIGINT COMMENT '最近1日下单用券次数', `order_coupon_reduce_last_1d_amount` DECIMAL(16,2) COMMENT '最近1日订单减免金额(优惠券)', `order_last_1d_original_amount` DECIMAL(16,2) COMMENT '最近1日原始下单金额', `order_last_1d_final_amount` DECIMAL(16,2) COMMENT '最近1日最终下单金额', `order_last_7d_count` BIGINT COMMENT '最近7日下单次数', `order_activity_last_7d_count` BIGINT COMMENT '最近7日订单参与活动次数', `order_activity_reduce_last_7d_amount` DECIMAL(16,2) COMMENT '最近7日订单减免金额(活动)', `order_coupon_last_7d_count` BIGINT COMMENT '最近7日下单用券次数', `order_coupon_reduce_last_7d_amount` DECIMAL(16,2) COMMENT '最近7日订单减免金额(优惠券)', `order_last_7d_original_amount` DECIMAL(16,2) COMMENT '最近7日原始下单金额', `order_last_7d_final_amount` DECIMAL(16,2) COMMENT '最近7日最终下单金额', `order_last_30d_count` BIGINT COMMENT '最近30日下单次数', `order_activity_last_30d_count` BIGINT COMMENT '最近30日订单参与活动次数', `order_activity_reduce_last_30d_amount` DECIMAL(16,2) COMMENT '最近30日订单减免金额(活动)', `order_coupon_last_30d_count` BIGINT COMMENT '最近30日下单用券次数', `order_coupon_reduce_last_30d_amount` DECIMAL(16,2) COMMENT '最近30日订单减免金额(优惠券)', `order_last_30d_original_amount` DECIMAL(16,2) COMMENT '最近30日原始下单金额', `order_last_30d_final_amount` DECIMAL(16,2) COMMENT '最近30日最终下单金额', `order_count` BIGINT COMMENT '累积下单次数', `order_activity_count` BIGINT COMMENT '累积订单参与活动次数', `order_activity_reduce_amount` DECIMAL(16,2) COMMENT '累积订单减免金额(活动)', `order_coupon_count` BIGINT COMMENT '累积下单用券次数', `order_coupon_reduce_amount` DECIMAL(16,2) COMMENT '累积订单减免金额(优惠券)', `order_original_amount` DECIMAL(16,2) COMMENT '累积原始下单金额', `order_final_amount` DECIMAL(16,2) COMMENT '累积最终下单金额', `payment_date_first` STRING COMMENT '首次支付时间', `payment_date_last` STRING COMMENT '末次支付时间', `payment_last_1d_count` BIGINT COMMENT '最近1日支付次数', `payment_last_1d_amount` DECIMAL(16,2) COMMENT '最近1日支付金额', `payment_last_7d_count` BIGINT COMMENT '最近7日支付次数', `payment_last_7d_amount` DECIMAL(16,2) COMMENT '最近7日支付金额', `payment_last_30d_count` BIGINT COMMENT '最近30日支付次数', `payment_last_30d_amount` DECIMAL(16,2) COMMENT '最近30日支付金额', `payment_count` BIGINT COMMENT '累积支付次数', `payment_amount` DECIMAL(16,2) COMMENT '累积支付金额', `refund_order_last_1d_count` BIGINT COMMENT '最近1日退单次数', `refund_order_last_1d_num` BIGINT COMMENT '最近1日退单件数', `refund_order_last_1d_amount` DECIMAL(16,2) COMMENT '最近1日退单金额', `refund_order_last_7d_count` BIGINT COMMENT '最近7日退单次数', `refund_order_last_7d_num` BIGINT COMMENT '最近7日退单件数', `refund_order_last_7d_amount` DECIMAL(16,2) COMMENT '最近7日退单金额', `refund_order_last_30d_count` BIGINT COMMENT '最近30日退单次数', `refund_order_last_30d_num` BIGINT COMMENT '最近30日退单件数', `refund_order_last_30d_amount` DECIMAL(16,2) COMMENT '最近30日退单金额', `refund_order_count` BIGINT COMMENT '累积退单次数', `refund_order_num` BIGINT COMMENT '累积退单件数', `refund_order_amount` DECIMAL(16,2) COMMENT '累积退单金额', `refund_payment_last_1d_count` BIGINT COMMENT '最近1日退款次数', `refund_payment_last_1d_num` BIGINT COMMENT '最近1日退款件数', `refund_payment_last_1d_amount` DECIMAL(16,2) COMMENT '最近1日退款金额', `refund_payment_last_7d_count` BIGINT COMMENT '最近7日退款次数', `refund_payment_last_7d_num` BIGINT COMMENT '最近7日退款件数', `refund_payment_last_7d_amount` DECIMAL(16,2) COMMENT '最近7日退款金额', `refund_payment_last_30d_count` BIGINT COMMENT '最近30日退款次数', `refund_payment_last_30d_num` BIGINT COMMENT '最近30日退款件数', `refund_payment_last_30d_amount` DECIMAL(16,2) COMMENT '最近30日退款金额', `refund_payment_count` BIGINT COMMENT '累积退款次数', `refund_payment_num` BIGINT COMMENT '累积退款件数', `refund_payment_amount` DECIMAL(16,2) COMMENT '累积退款金额', `cart_last_1d_count` BIGINT COMMENT '最近1日加入购物车次数', `cart_last_7d_count` BIGINT COMMENT '最近7日加入购物车次数', `cart_last_30d_count` BIGINT COMMENT '最近30日加入购物车次数', `cart_count` BIGINT COMMENT '累积加入购物车次数', `favor_last_1d_count` BIGINT COMMENT '最近1日收藏次数', `favor_last_7d_count` BIGINT COMMENT '最近7日收藏次数', `favor_last_30d_count` BIGINT COMMENT '最近30日收藏次数', `favor_count` BIGINT COMMENT '累积收藏次数', `coupon_last_1d_get_count` BIGINT COMMENT '最近1日领券次数', `coupon_last_1d_using_count` BIGINT COMMENT '最近1日用券(下单)次数', `coupon_last_1d_used_count` BIGINT COMMENT '最近1日用券(支付)次数', `coupon_last_7d_get_count` BIGINT COMMENT '最近7日领券次数', `coupon_last_7d_using_count` BIGINT COMMENT '最近7日用券(下单)次数', `coupon_last_7d_used_count` BIGINT COMMENT '最近7日用券(支付)次数', `coupon_last_30d_get_count` BIGINT COMMENT '最近30日领券次数', `coupon_last_30d_using_count` BIGINT COMMENT '最近30日用券(下单)次数', `coupon_last_30d_used_count` BIGINT COMMENT '最近30日用券(支付)次数', `coupon_get_count` BIGINT COMMENT '累积领券次数', `coupon_using_count` BIGINT COMMENT '累积用券(下单)次数', `coupon_used_count` BIGINT COMMENT '累积用券(支付)次数', `appraise_last_1d_good_count` BIGINT COMMENT '最近1日好评次数', `appraise_last_1d_mid_count` BIGINT COMMENT '最近1日中评次数', `appraise_last_1d_bad_count` BIGINT COMMENT '最近1日差评次数', `appraise_last_1d_default_count` BIGINT COMMENT '最近1日默认评价次数', `appraise_last_7d_good_count` BIGINT COMMENT '最近7日好评次数', `appraise_last_7d_mid_count` BIGINT COMMENT '最近7日中评次数', `appraise_last_7d_bad_count` BIGINT COMMENT '最近7日差评次数', `appraise_last_7d_default_count` BIGINT COMMENT '最近7日默认评价次数', `appraise_last_30d_good_count` BIGINT COMMENT '最近30日好评次数', `appraise_last_30d_mid_count` BIGINT COMMENT '最近30日中评次数', `appraise_last_30d_bad_count` BIGINT COMMENT '最近30日差评次数', `appraise_last_30d_default_count` BIGINT COMMENT '最近30日默认评价次数', `appraise_good_count` BIGINT COMMENT '累积好评次数', `appraise_mid_count` BIGINT COMMENT '累积中评次数', `appraise_bad_count` BIGINT COMMENT '累积差评次数', `appraise_default_count` BIGINT COMMENT '累积默认评价次数' )COMMENT '会员主题宽表' PARTITIONED BY (`dt` STRING) STORED AS PARQUET LOCATION '/warehouse/gmall/dwt/dwt_user_topic/' TBLPROPERTIES ("parquet.compression"="lzo");

2)首日装载
在这里插入图片描述

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
insert overwrite table dwt_user_topic partition(dt='2022-04-11') select id, login_date_first,--以用户的创建日期作为首次登录日期 nvl(login_date_last,date_add('2022-04-11',-1)),--若有历史登录记录,则根据历史记录获取末次登录日期,否则统一指定一个日期 nvl(login_last_1d_count,0), nvl(login_last_1d_day_count,0), nvl(login_last_7d_count,0), nvl(login_last_7d_day_count,0), nvl(login_last_30d_count,0), nvl(login_last_30d_day_count,0), nvl(login_count,0), nvl(login_day_count,0), order_date_first, order_date_last, nvl(order_last_1d_count,0), nvl(order_activity_last_1d_count,0), nvl(order_activity_reduce_last_1d_amount,0), nvl(order_coupon_last_1d_count,0), nvl(order_coupon_reduce_last_1d_amount,0), nvl(order_last_1d_original_amount,0), nvl(order_last_1d_final_amount,0), nvl(order_last_7d_count,0), nvl(order_activity_last_7d_count,0), nvl(order_activity_reduce_last_7d_amount,0), nvl(order_coupon_last_7d_count,0), nvl(order_coupon_reduce_last_7d_amount,0), nvl(order_last_7d_original_amount,0), nvl(order_last_7d_final_amount,0), nvl(order_last_30d_count,0), nvl(order_activity_last_30d_count,0), nvl(order_activity_reduce_last_30d_amount,0), nvl(order_coupon_last_30d_count,0), nvl(order_coupon_reduce_last_30d_amount,0), nvl(order_last_30d_original_amount,0), nvl(order_last_30d_final_amount,0), nvl(order_count,0), nvl(order_activity_count,0), nvl(order_activity_reduce_amount,0), nvl(order_coupon_count,0), nvl(order_coupon_reduce_amount,0), nvl(order_original_amount,0), nvl(order_final_amount,0), payment_date_first, payment_date_last, nvl(payment_last_1d_count,0), nvl(payment_last_1d_amount,0), nvl(payment_last_7d_count,0), nvl(payment_last_7d_amount,0), nvl(payment_last_30d_count,0), nvl(payment_last_30d_amount,0), nvl(payment_count,0), nvl(payment_amount,0), nvl(refund_order_last_1d_count,0), nvl(refund_order_last_1d_num,0), nvl(refund_order_last_1d_amount,0), nvl(refund_order_last_7d_count,0), nvl(refund_order_last_7d_num,0), nvl(refund_order_last_7d_amount,0), nvl(refund_order_last_30d_count,0), nvl(refund_order_last_30d_num,0), nvl(refund_order_last_30d_amount,0), nvl(refund_order_count,0), nvl(refund_order_num,0), nvl(refund_order_amount,0), nvl(refund_payment_last_1d_count,0), nvl(refund_payment_last_1d_num,0), nvl(refund_payment_last_1d_amount,0), nvl(refund_payment_last_7d_count,0), nvl(refund_payment_last_7d_num,0), nvl(refund_payment_last_7d_amount,0), nvl(refund_payment_last_30d_count,0), nvl(refund_payment_last_30d_num,0), nvl(refund_payment_last_30d_amount,0), nvl(refund_payment_count,0), nvl(refund_payment_num,0), nvl(refund_payment_amount,0), nvl(cart_last_1d_count,0), nvl(cart_last_7d_count,0), nvl(cart_last_30d_count,0), nvl(cart_count,0), nvl(favor_last_1d_count,0), nvl(favor_last_7d_count,0), nvl(favor_last_30d_count,0), nvl(favor_count,0), nvl(coupon_last_1d_get_count,0), nvl(coupon_last_1d_using_count,0), nvl(coupon_last_1d_used_count,0), nvl(coupon_last_7d_get_count,0), nvl(coupon_last_7d_using_count,0), nvl(coupon_last_7d_used_count,0), nvl(coupon_last_30d_get_count,0), nvl(coupon_last_30d_using_count,0), nvl(coupon_last_30d_used_count,0), nvl(coupon_get_count,0), nvl(coupon_using_count,0), nvl(coupon_used_count,0), nvl(appraise_last_1d_good_count,0), nvl(appraise_last_1d_mid_count,0), nvl(appraise_last_1d_bad_count,0), nvl(appraise_last_1d_default_count,0), nvl(appraise_last_7d_good_count,0), nvl(appraise_last_7d_mid_count,0), nvl(appraise_last_7d_bad_count,0), nvl(appraise_last_7d_default_count,0), nvl(appraise_last_30d_good_count,0), nvl(appraise_last_30d_mid_count,0), nvl(appraise_last_30d_bad_count,0), nvl(appraise_last_30d_default_count,0), nvl(appraise_good_count,0), nvl(appraise_mid_count,0), nvl(appraise_bad_count,0), nvl(appraise_default_count,0) from ( select id, date_format(create_time,'yyyy-MM-dd') login_date_first from dim_user_info where dt='9999-99-99' )t1 left join ( select user_id user_id, max(dt) login_date_last, sum(if(dt='2022-04-11',login_count,0)) login_last_1d_count, sum(if(dt='2022-04-11' and login_count>0,1,0)) login_last_1d_day_count, sum(if(dt>=date_add('2022-04-11',-6),login_count,0)) login_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6) and login_count>0,1,0)) login_last_7d_day_count, sum(if(dt>=date_add('2022-04-11',-29),login_count,0)) login_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29) and login_count>0,1,0)) login_last_30d_day_count, sum(login_count) login_count, sum(if(login_count>0,1,0)) login_day_count, min(if(order_count>0,dt,null)) order_date_first, max(if(order_count>0,dt,null)) order_date_last, sum(if(dt='2022-04-11',order_count,0)) order_last_1d_count, sum(if(dt='2022-04-11',order_activity_count,0)) order_activity_last_1d_count, sum(if(dt='2022-04-11',order_activity_reduce_amount,0)) order_activity_reduce_last_1d_amount, sum(if(dt='2022-04-11',order_coupon_count,0)) order_coupon_last_1d_count, sum(if(dt='2022-04-11',order_coupon_reduce_amount,0)) order_coupon_reduce_last_1d_amount, sum(if(dt='2022-04-11',order_original_amount,0)) order_last_1d_original_amount, sum(if(dt='2022-04-11',order_final_amount,0)) order_last_1d_final_amount, sum(if(dt>=date_add('2022-04-11',-6),order_count,0)) order_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),order_activity_count,0)) order_activity_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),order_activity_reduce_amount,0)) order_activity_reduce_last_7d_amount, sum(if(dt>=date_add('2022-04-11',-6),order_coupon_count,0)) order_coupon_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),order_coupon_reduce_amount,0)) order_coupon_reduce_last_7d_amount, sum(if(dt>=date_add('2022-04-11',-6),order_original_amount,0)) order_last_7d_original_amount, sum(if(dt>=date_add('2022-04-11',-6),order_final_amount,0)) order_last_7d_final_amount, sum(if(dt>=date_add('2022-04-11',-29),order_count,0)) order_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),order_activity_count,0)) order_activity_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),order_activity_reduce_amount,0)) order_activity_reduce_last_30d_amount, sum(if(dt>=date_add('2022-04-11',-29),order_coupon_count,0)) order_coupon_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),order_coupon_reduce_amount,0)) order_coupon_reduce_last_30d_amount, sum(if(dt>=date_add('2022-04-11',-29),order_original_amount,0)) order_last_30d_original_amount, sum(if(dt>=date_add('2022-04-11',-29),order_final_amount,0)) order_last_30d_final_amount, sum(order_count) order_count, sum(order_activity_count) order_activity_count, sum(order_activity_reduce_amount) order_activity_reduce_amount, sum(order_coupon_count) order_coupon_count, sum(order_coupon_reduce_amount) order_coupon_reduce_amount, sum(order_original_amount) order_original_amount, sum(order_final_amount) order_final_amount, min(if(payment_count>0,dt,null)) payment_date_first, max(if(payment_count>0,dt,null)) payment_date_last, sum(if(dt='2022-04-11',payment_count,0)) payment_last_1d_count, sum(if(dt='2022-04-11',payment_amount,0)) payment_last_1d_amount, sum(if(dt>=date_add('2022-04-11',-6),payment_count,0)) payment_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),payment_amount,0)) payment_last_7d_amount, sum(if(dt>=date_add('2022-04-11',-29),payment_count,0)) payment_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),payment_amount,0)) payment_last_30d_amount, sum(payment_count) payment_count, sum(payment_amount) payment_amount, sum(if(dt='2022-04-11',refund_order_count,0)) refund_order_last_1d_count, sum(if(dt='2022-04-11',refund_order_num,0)) refund_order_last_1d_num, sum(if(dt='2022-04-11',refund_order_amount,0)) refund_order_last_1d_amount, sum(if(dt>=date_add('2022-04-11',-6),refund_order_count,0)) refund_order_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),refund_order_num,0)) refund_order_last_7d_num, sum(if(dt>=date_add('2022-04-11',-6),refund_order_amount,0)) refund_order_last_7d_amount, sum(if(dt>=date_add('2022-04-11',-29),refund_order_count,0)) refund_order_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),refund_order_num,0)) refund_order_last_30d_num, sum(if(dt>=date_add('2022-04-11',-29),refund_order_amount,0)) refund_order_last_30d_amount, sum(refund_order_count) refund_order_count, sum(refund_order_num) refund_order_num, sum(refund_order_amount) refund_order_amount, sum(if(dt='2022-04-11',refund_payment_count,0)) refund_payment_last_1d_count, sum(if(dt='2022-04-11',refund_payment_num,0)) refund_payment_last_1d_num, sum(if(dt='2022-04-11',refund_payment_amount,0)) refund_payment_last_1d_amount, sum(if(dt>=date_add('2022-04-11',-6),refund_payment_count,0)) refund_payment_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),refund_payment_num,0)) refund_payment_last_7d_num, sum(if(dt>=date_add('2022-04-11',-6),refund_payment_amount,0)) refund_payment_last_7d_amount, sum(if(dt>=date_add('2022-04-11',-29),refund_payment_count,0)) refund_payment_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),refund_payment_num,0)) refund_payment_last_30d_num, sum(if(dt>=date_add('2022-04-11',-29),refund_payment_amount,0)) refund_payment_last_30d_amount, sum(refund_payment_count) refund_payment_count, sum(refund_payment_num) refund_payment_num, sum(refund_payment_amount) refund_payment_amount, sum(if(dt='2022-04-11',cart_count,0)) cart_last_1d_count, sum(if(dt>=date_add('2022-04-11',-6),cart_count,0)) cart_last_7d_count, sum(if(dt>=date_add('2022-04-11',-29),cart_count,0)) cart_last_30d_count, sum(cart_count) cart_count, sum(if(dt='2022-04-11',favor_count,0)) favor_last_1d_count, sum(if(dt>=date_add('2022-04-11',-6),favor_count,0)) favor_last_7d_count, sum(if(dt>=date_add('2022-04-11',-29),favor_count,0)) favor_last_30d_count, sum(favor_count) favor_count, sum(if(dt='2022-04-11',coupon_get_count,0)) coupon_last_1d_get_count, sum(if(dt='2022-04-11',coupon_using_count,0)) coupon_last_1d_using_count, sum(if(dt='2022-04-11',coupon_used_count,0)) coupon_last_1d_used_count, sum(if(dt>=date_add('2022-04-11',-6),coupon_get_count,0)) coupon_last_7d_get_count, sum(if(dt>=date_add('2022-04-11',-6),coupon_using_count,0)) coupon_last_7d_using_count, sum(if(dt>=date_add('2022-04-11',-6),coupon_used_count,0)) coupon_last_7d_used_count, sum(if(dt>=date_add('2022-04-11',-29),coupon_get_count,0)) coupon_last_30d_get_count, sum(if(dt>=date_add('2022-04-11',-29),coupon_using_count,0)) coupon_last_30d_using_count, sum(if(dt>=date_add('2022-04-11',-29),coupon_used_count,0)) coupon_last_30d_used_count, sum(coupon_get_count) coupon_get_count, sum(coupon_using_count) coupon_using_count, sum(coupon_used_count) coupon_used_count, sum(if(dt='2022-04-11',appraise_good_count,0)) appraise_last_1d_good_count, sum(if(dt='2022-04-11',appraise_mid_count,0)) appraise_last_1d_mid_count, sum(if(dt='2022-04-11',appraise_bad_count,0)) appraise_last_1d_bad_count, sum(if(dt='2022-04-11',appraise_default_count,0)) appraise_last_1d_default_count, sum(if(dt>=date_add('2022-04-11',-6),appraise_good_count,0)) appraise_last_7d_good_count, sum(if(dt>=date_add('2022-04-11',-6),appraise_mid_count,0)) appraise_last_7d_mid_count, sum(if(dt>=date_add('2022-04-11',-6),appraise_bad_count,0)) appraise_last_7d_bad_count, sum(if(dt>=date_add('2022-04-11',-6),appraise_default_count,0)) appraise_last_7d_default_count, sum(if(dt>=date_add('2022-04-11',-29),appraise_good_count,0)) appraise_last_30d_good_count, sum(if(dt>=date_add('2022-04-11',-29),appraise_mid_count,0)) appraise_last_30d_mid_count, sum(if(dt>=date_add('2022-04-11',-29),appraise_bad_count,0)) appraise_last_30d_bad_count, sum(if(dt>=date_add('2022-04-11',-29),appraise_default_count,0)) appraise_last_30d_default_count, sum(appraise_good_count) appraise_good_count, sum(appraise_mid_count) appraise_mid_count, sum(appraise_bad_count) appraise_bad_count, sum(appraise_default_count) appraise_default_count from dws_user_action_daycount group by user_id )t2 on t1.id=t2.user_id;

3)每日装载
在这里插入图片描述

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
insert overwrite table dwt_user_topic partition(dt='2022-04-12') select nvl(1d_ago.user_id,old.user_id), nvl(old.login_date_first,'2022-04-12'), if(1d_ago.user_id is not null,'2022-04-12',old.login_date_last), nvl(1d_ago.login_count,0), if(1d_ago.user_id is not null,1,0), nvl(old.login_last_7d_count,0)+nvl(1d_ago.login_count,0)- nvl(7d_ago.login_count,0), nvl(old.login_last_7d_day_count,0)+if(1d_ago.user_id is null,0,1)- if(7d_ago.user_id is null,0,1), nvl(old.login_last_30d_count,0)+nvl(1d_ago.login_count,0)- nvl(30d_ago.login_count,0), nvl(old.login_last_30d_day_count,0)+if(1d_ago.user_id is null,0,1)- if(30d_ago.user_id is null,0,1), nvl(old.login_count,0)+nvl(1d_ago.login_count,0), nvl(old.login_day_count,0)+if(1d_ago.user_id is not null,1,0), if(old.order_date_first is null and 1d_ago.order_count>0, '2022-04-12', old.order_date_first), if(1d_ago.order_count>0,'2022-04-12',old.order_date_last), nvl(1d_ago.order_count,0), nvl(1d_ago.order_activity_count,0), nvl(1d_ago.order_activity_reduce_amount,0.0), nvl(1d_ago.order_coupon_count,0), nvl(1d_ago.order_coupon_reduce_amount,0.0), nvl(1d_ago.order_original_amount,0.0), nvl(1d_ago.order_final_amount,0.0), nvl(old.order_last_7d_count,0)+nvl(1d_ago.order_count,0)- nvl(7d_ago.order_count,0), nvl(old.order_activity_last_7d_count,0)+nvl(1d_ago.order_activity_count,0)- nvl(7d_ago.order_activity_count,0), nvl(old.order_activity_reduce_last_7d_amount,0.0)+nvl(1d_ago.order_activity_reduce_amount,0.0)- nvl(7d_ago.order_activity_reduce_amount,0.0), nvl(old.order_coupon_last_7d_count,0)+nvl(1d_ago.order_coupon_count,0)- nvl(7d_ago.order_coupon_count,0), nvl(old.order_coupon_reduce_last_7d_amount,0.0)+nvl(1d_ago.order_coupon_reduce_amount,0.0)- nvl(7d_ago.order_coupon_reduce_amount,0.0), nvl(old.order_last_7d_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0)- nvl(7d_ago.order_original_amount,0.0), nvl(old.order_last_7d_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0)- nvl(7d_ago.order_final_amount,0.0), nvl(old.order_last_30d_count,0)+nvl(1d_ago.order_count,0)- nvl(30d_ago.order_count,0), nvl(old.order_activity_last_30d_count,0)+nvl(1d_ago.order_activity_count,0)- nvl(30d_ago.order_activity_count,0), nvl(old.order_activity_reduce_last_30d_amount,0.0)+nvl(1d_ago.order_activity_reduce_amount,0.0)- nvl(30d_ago.order_activity_reduce_amount,0.0), nvl(old.order_coupon_last_30d_count,0)+nvl(1d_ago.order_coupon_count,0)- nvl(30d_ago.order_coupon_count,0), nvl(old.order_coupon_reduce_last_30d_amount,0.0)+nvl(1d_ago.order_coupon_reduce_amount,0.0)- nvl(30d_ago.order_coupon_reduce_amount,0.0), nvl(old.order_last_30d_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0)- nvl(30d_ago.order_original_amount,0.0), nvl(old.order_last_30d_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0)- nvl(30d_ago.order_final_amount,0.0), nvl(old.order_count,0)+nvl(1d_ago.order_count,0), nvl(old.order_activity_count,0)+nvl(1d_ago.order_activity_count,0), nvl(old.order_activity_reduce_amount,0.0)+nvl(1d_ago.order_activity_reduce_amount,0.0), nvl(old.order_coupon_count,0)+nvl(1d_ago.order_coupon_count,0), nvl(old.order_coupon_reduce_amount,0.0)+nvl(1d_ago.order_coupon_reduce_amount,0.0), nvl(old.order_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0), nvl(old.order_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0), if(old.payment_date_first is null and 1d_ago.payment_count>0, '2022-04-12', old.payment_date_first), if(1d_ago.payment_count>0,'2022-04-12',old.payment_date_last), nvl(1d_ago.payment_count,0), nvl(1d_ago.payment_amount,0.0), nvl(old.payment_last_7d_count,0)+nvl(1d_ago.payment_count,0)-nvl(7d_ago.payment_count,0), nvl(old.payment_last_7d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)-nvl(7d_ago.payment_amount,0.0), nvl(old.payment_last_30d_count,0)+nvl(1d_ago.payment_count,0)-nvl(30d_ago.payment_count,0), nvl(old.payment_last_30d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)- nvl(30d_ago.payment_amount,0.0), nvl(old.payment_count,0)+nvl(1d_ago.payment_count,0), nvl(old.payment_amount,0.0)+nvl(1d_ago.payment_amount,0.0), nvl(1d_ago.refund_order_count,0), nvl(1d_ago.refund_order_num,0), nvl(1d_ago.refund_order_amount,0.0), nvl(old.refund_order_last_7d_count,0)+nvl(1d_ago.refund_order_count,0)- nvl(7d_ago.refund_order_count,0), nvl(old.refund_order_last_7d_num,0)+nvl(1d_ago.refund_order_num, 0)- nvl(7d_ago.refund_order_num,0), nvl(old.refund_order_last_7d_amount,0.0)+ nvl(1d_ago.refund_order_amount,0.0)- nvl(7d_ago.refund_order_amount,0.0), nvl(old.refund_order_last_30d_count,0)+nvl(1d_ago.refund_order_count,0)- nvl(30d_ago.refund_order_count,0), nvl(old.refund_order_last_30d_num,0)+nvl(1d_ago.refund_order_num, 0)- nvl(30d_ago.refund_order_num,0), nvl(old.refund_order_last_30d_amount,0.0)+ nvl(1d_ago.refund_order_amount,0.0)- nvl(30d_ago.refund_order_amount,0.0), nvl(old.refund_order_count,0)+nvl(1d_ago.refund_order_count,0), nvl(old.refund_order_num,0)+nvl(1d_ago.refund_order_num,0), nvl(old.refund_order_amount,0.0)+ nvl(1d_ago.refund_order_amount,0.0), nvl(1d_ago.refund_payment_count,0), nvl(1d_ago.refund_payment_num,0), nvl(1d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_last_7d_count,0)+nvl(1d_ago.refund_payment_count,0)-nvl(7d_ago.refund_payment_count,0), nvl(old.refund_payment_last_7d_num,0)+nvl(1d_ago.refund_payment_num,0)- nvl(7d_ago.refund_payment_num,0), nvl(old.refund_payment_last_7d_amount,0.0)+ nvl(1d_ago.refund_payment_amount,0.0)- nvl(7d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_last_30d_count,0)+nvl(1d_ago.refund_payment_count,0)-nvl(30d_ago.refund_payment_count,0), nvl(old.refund_payment_last_30d_num,0)+nvl(1d_ago.refund_payment_num,0)- nvl(30d_ago.refund_payment_num,0), nvl(old.refund_payment_last_30d_amount,0.0)+ nvl(1d_ago.refund_payment_amount,0.0)- nvl(30d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_count,0)+nvl(1d_ago.refund_payment_count,0), nvl(old.refund_payment_num,0)+nvl(1d_ago.refund_payment_num,0), nvl(old.refund_payment_amount,0.0)+nvl(1d_ago.refund_payment_amount,0.0), nvl(1d_ago.cart_count,0), nvl(old.cart_last_7d_count,0)+nvl(1d_ago.cart_count,0)-nvl(7d_ago.cart_count,0), nvl(old.cart_last_30d_count,0)+nvl(1d_ago.cart_count,0)-nvl(30d_ago.cart_count,0), nvl(old.cart_count,0)+nvl(1d_ago.cart_count,0), nvl(1d_ago.favor_count,0), nvl(old.favor_last_7d_count,0)+nvl(1d_ago.favor_count,0)- nvl(7d_ago.favor_count,0), nvl(old.favor_last_30d_count,0)+nvl(1d_ago.favor_count,0)- nvl(30d_ago.favor_count,0), nvl(old.favor_count,0)+nvl(1d_ago.favor_count,0), nvl(1d_ago.coupon_get_count,0), nvl(1d_ago.coupon_using_count,0), nvl(1d_ago.coupon_used_count,0), nvl(old.coupon_last_7d_get_count,0)+nvl(1d_ago.coupon_get_count,0)- nvl(7d_ago.coupon_get_count,0), nvl(old.coupon_last_7d_using_count,0)+nvl(1d_ago.coupon_using_count,0)- nvl(7d_ago.coupon_using_count,0), nvl(old.coupon_last_7d_used_count,0)+ nvl(1d_ago.coupon_used_count,0)- nvl(7d_ago.coupon_used_count,0), nvl(old.coupon_last_30d_get_count,0)+nvl(1d_ago.coupon_get_count,0)- nvl(30d_ago.coupon_get_count,0), nvl(old.coupon_last_30d_using_count,0)+nvl(1d_ago.coupon_using_count,0)- nvl(30d_ago.coupon_using_count,0), nvl(old.coupon_last_30d_used_count,0)+ nvl(1d_ago.coupon_used_count,0)- nvl(30d_ago.coupon_used_count,0), nvl(old.coupon_get_count,0)+nvl(1d_ago.coupon_get_count,0), nvl(old.coupon_using_count,0)+nvl(1d_ago.coupon_using_count,0), nvl(old.coupon_used_count,0)+nvl(1d_ago.coupon_used_count,0), nvl(1d_ago.appraise_good_count,0), nvl(1d_ago.appraise_mid_count,0), nvl(1d_ago.appraise_bad_count,0), nvl(1d_ago.appraise_default_count,0), nvl(old.appraise_last_7d_good_count,0)+nvl(1d_ago.appraise_good_count,0)- nvl(7d_ago.appraise_good_count,0), nvl(old.appraise_last_7d_mid_count,0)+nvl(1d_ago.appraise_mid_count,0)-nvl(7d_ago.appraise_mid_count,0), nvl(old.appraise_last_7d_bad_count,0)+nvl(1d_ago.appraise_bad_count,0)-nvl(7d_ago.appraise_bad_count,0), nvl(old.appraise_last_7d_default_count,0)+nvl(1d_ago.appraise_default_count,0)-nvl(7d_ago.appraise_default_count,0), nvl(old.appraise_last_30d_good_count,0)+nvl(1d_ago.appraise_good_count,0)- nvl(30d_ago.appraise_good_count,0), nvl(old.appraise_last_30d_mid_count,0)+nvl(1d_ago.appraise_mid_count,0)-nvl(30d_ago.appraise_mid_count,0), nvl(old.appraise_last_30d_bad_count,0)+nvl(1d_ago.appraise_bad_count,0)-nvl(30d_ago.appraise_bad_count,0), nvl(old.appraise_last_30d_default_count,0)+nvl(1d_ago.appraise_default_count,0)-nvl(30d_ago.appraise_default_count,0), nvl(old.appraise_good_count,0)+nvl(1d_ago.appraise_good_count,0), nvl(old.appraise_mid_count,0)+nvl(1d_ago.appraise_mid_count, 0), nvl(old.appraise_bad_count,0)+nvl(1d_ago.appraise_bad_count,0), nvl(old.appraise_default_count,0)+nvl(1d_ago.appraise_default_count,0) from ( select user_id, login_date_first, login_date_last, login_date_1d_count, login_last_1d_day_count, login_last_7d_count, login_last_7d_day_count, login_last_30d_count, login_last_30d_day_count, login_count, login_day_count, order_date_first, order_date_last, order_last_1d_count, order_activity_last_1d_count, order_activity_reduce_last_1d_amount, order_coupon_last_1d_count, order_coupon_reduce_last_1d_amount, order_last_1d_original_amount, order_last_1d_final_amount, order_last_7d_count, order_activity_last_7d_count, order_activity_reduce_last_7d_amount, order_coupon_last_7d_count, order_coupon_reduce_last_7d_amount, order_last_7d_original_amount, order_last_7d_final_amount, order_last_30d_count, order_activity_last_30d_count, order_activity_reduce_last_30d_amount, order_coupon_last_30d_count, order_coupon_reduce_last_30d_amount, order_last_30d_original_amount, order_last_30d_final_amount, order_count, order_activity_count, order_activity_reduce_amount, order_coupon_count, order_coupon_reduce_amount, order_original_amount, order_final_amount, payment_date_first, payment_date_last, payment_last_1d_count, payment_last_1d_amount, payment_last_7d_count, payment_last_7d_amount, payment_last_30d_count, payment_last_30d_amount, payment_count, payment_amount, refund_order_last_1d_count, refund_order_last_1d_num, refund_order_last_1d_amount, refund_order_last_7d_count, refund_order_last_7d_num, refund_order_last_7d_amount, refund_order_last_30d_count, refund_order_last_30d_num, refund_order_last_30d_amount, refund_order_count, refund_order_num, refund_order_amount, refund_payment_last_1d_count, refund_payment_last_1d_num, refund_payment_last_1d_amount, refund_payment_last_7d_count, refund_payment_last_7d_num, refund_payment_last_7d_amount, refund_payment_last_30d_count, refund_payment_last_30d_num, refund_payment_last_30d_amount, refund_payment_count, refund_payment_num, refund_payment_amount, cart_last_1d_count, cart_last_7d_count, cart_last_30d_count, cart_count, favor_last_1d_count, favor_last_7d_count, favor_last_30d_count, favor_count, coupon_last_1d_get_count, coupon_last_1d_using_count, coupon_last_1d_used_count, coupon_last_7d_get_count, coupon_last_7d_using_count, coupon_last_7d_used_count, coupon_last_30d_get_count, coupon_last_30d_using_count, coupon_last_30d_used_count, coupon_get_count, coupon_using_count, coupon_used_count, appraise_last_1d_good_count, appraise_last_1d_mid_count, appraise_last_1d_bad_count, appraise_last_1d_default_count, appraise_last_7d_good_count, appraise_last_7d_mid_count, appraise_last_7d_bad_count, appraise_last_7d_default_count, appraise_last_30d_good_count, appraise_last_30d_mid_count, appraise_last_30d_bad_count, appraise_last_30d_default_count, appraise_good_count, appraise_mid_count, appraise_bad_count, appraise_default_count from dwt_user_topic where dt=date_add('2022-04-12',-1) )old full outer join ( select user_id, login_count, cart_count, favor_count, order_count, order_activity_count, order_activity_reduce_amount, order_coupon_count, order_coupon_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_amount, refund_order_count, refund_order_num, refund_order_amount, refund_payment_count, refund_payment_num, refund_payment_amount, coupon_get_count, coupon_using_count, coupon_used_count, appraise_good_count, appraise_mid_count, appraise_bad_count, appraise_default_count from dws_user_action_daycount where dt='2022-04-12' )1d_ago on old.user_id=1d_ago.user_id left join ( select user_id, login_count, cart_count, favor_count, order_count, order_activity_count, order_activity_reduce_amount, order_coupon_count, order_coupon_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_amount, refund_order_count, refund_order_num, refund_order_amount, refund_payment_count, refund_payment_num, refund_payment_amount, coupon_get_count, coupon_using_count, coupon_used_count, appraise_good_count, appraise_mid_count, appraise_bad_count, appraise_default_count from dws_user_action_daycount where dt=date_add('2022-04-12',-7) )7d_ago on old.user_id=7d_ago.user_id left join ( select user_id, login_count, cart_count, favor_count, order_count, order_activity_count, order_activity_reduce_amount, order_coupon_count, order_coupon_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_amount, refund_order_count, refund_order_num, refund_order_amount, refund_payment_count, refund_payment_num, refund_payment_amount, coupon_get_count, coupon_using_count, coupon_used_count, appraise_good_count, appraise_mid_count, appraise_bad_count, appraise_default_count from dws_user_action_daycount where dt=date_add('2022-04-12',-30) )30d_ago on old.user_id=30d_ago.user_id;

4、商品主题

1)建表语句

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
DROP TABLE IF EXISTS dwt_sku_topic; CREATE EXTERNAL TABLE dwt_sku_topic ( `sku_id` STRING COMMENT 'sku_id', `order_last_1d_count` BIGINT COMMENT '最近1日被下单次数', `order_last_1d_num` BIGINT COMMENT '最近1日被下单件数', `order_activity_last_1d_count` BIGINT COMMENT '最近1日参与活动被下单次数', `order_coupon_last_1d_count` BIGINT COMMENT '最近1日使用优惠券被下单次数', `order_activity_reduce_last_1d_amount` DECIMAL(16,2) COMMENT '最近1日优惠金额(活动)', `order_coupon_reduce_last_1d_amount` DECIMAL(16,2) COMMENT '最近1日优惠金额(优惠券)', `order_last_1d_original_amount` DECIMAL(16,2) COMMENT '最近1日被下单原始金额', `order_last_1d_final_amount` DECIMAL(16,2) COMMENT '最近1日被下单最终金额', `order_last_7d_count` BIGINT COMMENT '最近7日被下单次数', `order_last_7d_num` BIGINT COMMENT '最近7日被下单件数', `order_activity_last_7d_count` BIGINT COMMENT '最近7日参与活动被下单次数', `order_coupon_last_7d_count` BIGINT COMMENT '最近7日使用优惠券被下单次数', `order_activity_reduce_last_7d_amount` DECIMAL(16,2) COMMENT '最近7日优惠金额(活动)', `order_coupon_reduce_last_7d_amount` DECIMAL(16,2) COMMENT '最近7日优惠金额(优惠券)', `order_last_7d_original_amount` DECIMAL(16,2) COMMENT '最近7日被下单原始金额', `order_last_7d_final_amount` DECIMAL(16,2) COMMENT '最近7日被下单最终金额', `order_last_30d_count` BIGINT COMMENT '最近30日被下单次数', `order_last_30d_num` BIGINT COMMENT '最近30日被下单件数', `order_activity_last_30d_count` BIGINT COMMENT '最近30日参与活动被下单次数', `order_coupon_last_30d_count` BIGINT COMMENT '最近30日使用优惠券被下单次数', `order_activity_reduce_last_30d_amount` DECIMAL(16,2) COMMENT '最近30日优惠金额(活动)', `order_coupon_reduce_last_30d_amount` DECIMAL(16,2) COMMENT '最近30日优惠金额(优惠券)', `order_last_30d_original_amount` DECIMAL(16,2) COMMENT '最近30日被下单原始金额', `order_last_30d_final_amount` DECIMAL(16,2) COMMENT '最近30日被下单最终金额', `order_count` BIGINT COMMENT '累积被下单次数', `order_num` BIGINT COMMENT '累积被下单件数', `order_activity_count` BIGINT COMMENT '累积参与活动被下单次数', `order_coupon_count` BIGINT COMMENT '累积使用优惠券被下单次数', `order_activity_reduce_amount` DECIMAL(16,2) COMMENT '累积优惠金额(活动)', `order_coupon_reduce_amount` DECIMAL(16,2) COMMENT '累积优惠金额(优惠券)', `order_original_amount` DECIMAL(16,2) COMMENT '累积被下单原始金额', `order_final_amount` DECIMAL(16,2) COMMENT '累积被下单最终金额', `payment_last_1d_count` BIGINT COMMENT '最近1日被支付次数', `payment_last_1d_num` BIGINT COMMENT '最近1日被支付件数', `payment_last_1d_amount` DECIMAL(16,2) COMMENT '最近1日被支付金额', `payment_last_7d_count` BIGINT COMMENT '最近7日被支付次数', `payment_last_7d_num` BIGINT COMMENT '最近7日被支付件数', `payment_last_7d_amount` DECIMAL(16,2) COMMENT '最近7日被支付金额', `payment_last_30d_count` BIGINT COMMENT '最近30日被支付次数', `payment_last_30d_num` BIGINT COMMENT '最近30日被支付件数', `payment_last_30d_amount` DECIMAL(16,2) COMMENT '最近30日被支付金额', `payment_count` BIGINT COMMENT '累积被支付次数', `payment_num` BIGINT COMMENT '累积被支付件数', `payment_amount` DECIMAL(16,2) COMMENT '累积被支付金额', `refund_order_last_1d_count` BIGINT COMMENT '最近1日退单次数', `refund_order_last_1d_num` BIGINT COMMENT '最近1日退单件数', `refund_order_last_1d_amount` DECIMAL(16,2) COMMENT '最近1日退单金额', `refund_order_last_7d_count` BIGINT COMMENT '最近7日退单次数', `refund_order_last_7d_num` BIGINT COMMENT '最近7日退单件数', `refund_order_last_7d_amount` DECIMAL(16,2) COMMENT '最近7日退单金额', `refund_order_last_30d_count` BIGINT COMMENT '最近30日退单次数', `refund_order_last_30d_num` BIGINT COMMENT '最近30日退单件数', `refund_order_last_30d_amount` DECIMAL(16,2) COMMENT '最近30日退单金额', `refund_order_count` BIGINT COMMENT '累积退单次数', `refund_order_num` BIGINT COMMENT '累积退单件数', `refund_order_amount` DECIMAL(16,2) COMMENT '累积退单金额', `refund_payment_last_1d_count` BIGINT COMMENT '最近1日退款次数', `refund_payment_last_1d_num` BIGINT COMMENT '最近1日退款件数', `refund_payment_last_1d_amount` DECIMAL(16,2) COMMENT '最近1日退款金额', `refund_payment_last_7d_count` BIGINT COMMENT '最近7日退款次数', `refund_payment_last_7d_num` BIGINT COMMENT '最近7日退款件数', `refund_payment_last_7d_amount` DECIMAL(16,2) COMMENT '最近7日退款金额', `refund_payment_last_30d_count` BIGINT COMMENT '最近30日退款次数', `refund_payment_last_30d_num` BIGINT COMMENT '最近30日退款件数', `refund_payment_last_30d_amount` DECIMAL(16,2) COMMENT '最近30日退款金额', `refund_payment_count` BIGINT COMMENT '累积退款次数', `refund_payment_num` BIGINT COMMENT '累积退款件数', `refund_payment_amount` DECIMAL(16,2) COMMENT '累积退款金额', `cart_last_1d_count` BIGINT COMMENT '最近1日被加入购物车次数', `cart_last_7d_count` BIGINT COMMENT '最近7日被加入购物车次数', `cart_last_30d_count` BIGINT COMMENT '最近30日被加入购物车次数', `cart_count` BIGINT COMMENT '累积被加入购物车次数', `favor_last_1d_count` BIGINT COMMENT '最近1日被收藏次数', `favor_last_7d_count` BIGINT COMMENT '最近7日被收藏次数', `favor_last_30d_count` BIGINT COMMENT '最近30日被收藏次数', `favor_count` BIGINT COMMENT '累积被收藏次数', `appraise_last_1d_good_count` BIGINT COMMENT '最近1日好评数', `appraise_last_1d_mid_count` BIGINT COMMENT '最近1日中评数', `appraise_last_1d_bad_count` BIGINT COMMENT '最近1日差评数', `appraise_last_1d_default_count` BIGINT COMMENT '最近1日默认评价数', `appraise_last_7d_good_count` BIGINT COMMENT '最近7日好评数', `appraise_last_7d_mid_count` BIGINT COMMENT '最近7日中评数', `appraise_last_7d_bad_count` BIGINT COMMENT '最近7日差评数', `appraise_last_7d_default_count` BIGINT COMMENT '最近7日默认评价数', `appraise_last_30d_good_count` BIGINT COMMENT '最近30日好评数', `appraise_last_30d_mid_count` BIGINT COMMENT '最近30日中评数', `appraise_last_30d_bad_count` BIGINT COMMENT '最近30日差评数', `appraise_last_30d_default_count` BIGINT COMMENT '最近30日默认评价数', `appraise_good_count` BIGINT COMMENT '累积好评数', `appraise_mid_count` BIGINT COMMENT '累积中评数', `appraise_bad_count` BIGINT COMMENT '累积差评数', `appraise_default_count` BIGINT COMMENT '累积默认评价数' )COMMENT '商品主题宽表' PARTITIONED BY (`dt` STRING) STORED AS PARQUET LOCATION '/warehouse/gmall/dwt/dwt_sku_topic/' TBLPROPERTIES ("parquet.compression"="lzo");

2)首日装载

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
insert overwrite table dwt_sku_topic partition(dt='2022-04-11') select id, nvl(order_last_1d_count,0), nvl(order_last_1d_num,0), nvl(order_activity_last_1d_count,0), nvl(order_coupon_last_1d_count,0), nvl(order_activity_reduce_last_1d_amount,0), nvl(order_coupon_reduce_last_1d_amount,0), nvl(order_last_1d_original_amount,0), nvl(order_last_1d_final_amount,0), nvl(order_last_7d_count,0), nvl(order_last_7d_num,0), nvl(order_activity_last_7d_count,0), nvl(order_coupon_last_7d_count,0), nvl(order_activity_reduce_last_7d_amount,0), nvl(order_coupon_reduce_last_7d_amount,0), nvl(order_last_7d_original_amount,0), nvl(order_last_7d_final_amount,0), nvl(order_last_30d_count,0), nvl(order_last_30d_num,0), nvl(order_activity_last_30d_count,0), nvl(order_coupon_last_30d_count,0), nvl(order_activity_reduce_last_30d_amount,0), nvl(order_coupon_reduce_last_30d_amount,0), nvl(order_last_30d_original_amount,0), nvl(order_last_30d_final_amount,0), nvl(order_count,0), nvl(order_num,0), nvl(order_activity_count,0), nvl(order_coupon_count,0), nvl(order_activity_reduce_amount,0), nvl(order_coupon_reduce_amount,0), nvl(order_original_amount,0), nvl(order_final_amount,0), nvl(payment_last_1d_count,0), nvl(payment_last_1d_num,0), nvl(payment_last_1d_amount,0), nvl(payment_last_7d_count,0), nvl(payment_last_7d_num,0), nvl(payment_last_7d_amount,0), nvl(payment_last_30d_count,0), nvl(payment_last_30d_num,0), nvl(payment_last_30d_amount,0), nvl(payment_count,0), nvl(payment_num,0), nvl(payment_amount,0), nvl(refund_order_last_1d_count,0), nvl(refund_order_last_1d_num,0), nvl(refund_order_last_1d_amount,0), nvl(refund_order_last_7d_count,0), nvl(refund_order_last_7d_num,0), nvl(refund_order_last_7d_amount,0), nvl(refund_order_last_30d_count,0), nvl(refund_order_last_30d_num,0), nvl(refund_order_last_30d_amount,0), nvl(refund_order_count,0), nvl(refund_order_num,0), nvl(refund_order_amount,0), nvl(refund_payment_last_1d_count,0), nvl(refund_payment_last_1d_num,0), nvl(refund_payment_last_1d_amount,0), nvl(refund_payment_last_7d_count,0), nvl(refund_payment_last_7d_num,0), nvl(refund_payment_last_7d_amount,0), nvl(refund_payment_last_30d_count,0), nvl(refund_payment_last_30d_num,0), nvl(refund_payment_last_30d_amount,0), nvl(refund_payment_count,0), nvl(refund_payment_num,0), nvl(refund_payment_amount,0), nvl(cart_last_1d_count,0), nvl(cart_last_7d_count,0), nvl(cart_last_30d_count,0), nvl(cart_count,0), nvl(favor_last_1d_count,0), nvl(favor_last_7d_count,0), nvl(favor_last_30d_count,0), nvl(favor_count,0), nvl(appraise_last_1d_good_count,0), nvl(appraise_last_1d_mid_count,0), nvl(appraise_last_1d_bad_count,0), nvl(appraise_last_1d_default_count,0), nvl(appraise_last_7d_good_count,0), nvl(appraise_last_7d_mid_count,0), nvl(appraise_last_7d_bad_count,0), nvl(appraise_last_7d_default_count,0), nvl(appraise_last_30d_good_count,0), nvl(appraise_last_30d_mid_count,0), nvl(appraise_last_30d_bad_count,0), nvl(appraise_last_30d_default_count,0), nvl(appraise_good_count,0), nvl(appraise_mid_count,0), nvl(appraise_bad_count,0), nvl(appraise_default_count,0) from ( select id from dim_sku_info where dt='2022-04-11' )t1 left join ( select sku_id, sum(if(dt='2022-04-11',order_count,0)) order_last_1d_count, sum(if(dt='2022-04-11',order_num,0)) order_last_1d_num, sum(if(dt='2022-04-11',order_activity_count,0)) order_activity_last_1d_count, sum(if(dt='2022-04-11',order_coupon_count,0)) order_coupon_last_1d_count, sum(if(dt='2022-04-11',order_activity_reduce_amount,0)) order_activity_reduce_last_1d_amount, sum(if(dt='2022-04-11',order_coupon_reduce_amount,0)) order_coupon_reduce_last_1d_amount, sum(if(dt='2022-04-11',order_original_amount,0)) order_last_1d_original_amount, sum(if(dt='2022-04-11',order_final_amount,0)) order_last_1d_final_amount, sum(if(dt>=date_add('2022-04-11',-6),order_count,0)) order_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),order_num,0)) order_last_7d_num, sum(if(dt>=date_add('2022-04-11',-6),order_activity_count,0)) order_activity_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),order_coupon_count,0)) order_coupon_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),order_activity_reduce_amount,0)) order_activity_reduce_last_7d_amount, sum(if(dt>=date_add('2022-04-11',-6),order_coupon_reduce_amount,0)) order_coupon_reduce_last_7d_amount, sum(if(dt>=date_add('2022-04-11',-6),order_original_amount,0)) order_last_7d_original_amount, sum(if(dt>=date_add('2022-04-11',-6),order_final_amount,0)) order_last_7d_final_amount, sum(if(dt>=date_add('2022-04-11',-29),order_count,0)) order_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),order_num,0)) order_last_30d_num, sum(if(dt>=date_add('2022-04-11',-29),order_activity_count,0)) order_activity_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),order_coupon_count,0)) order_coupon_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),order_activity_reduce_amount,0)) order_activity_reduce_last_30d_amount, sum(if(dt>=date_add('2022-04-11',-29),order_coupon_reduce_amount,0)) order_coupon_reduce_last_30d_amount, sum(if(dt>=date_add('2022-04-11',-29),order_original_amount,0)) order_last_30d_original_amount, sum(if(dt>=date_add('2022-04-11',-29),order_final_amount,0)) order_last_30d_final_amount, sum(order_count) order_count, sum(order_num) order_num, sum(order_activity_count) order_activity_count, sum(order_coupon_count) order_coupon_count, sum(order_activity_reduce_amount) order_activity_reduce_amount, sum(order_coupon_reduce_amount) order_coupon_reduce_amount, sum(order_original_amount) order_original_amount, sum(order_final_amount) order_final_amount, sum(if(dt='2022-04-11',payment_count,0)) payment_last_1d_count, sum(if(dt='2022-04-11',payment_num,0)) payment_last_1d_num, sum(if(dt='2022-04-11',payment_amount,0)) payment_last_1d_amount, sum(if(dt>=date_add('2022-04-11',-6),payment_count,0)) payment_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),payment_num,0)) payment_last_7d_num, sum(if(dt>=date_add('2022-04-11',-6),payment_amount,0)) payment_last_7d_amount, sum(if(dt>=date_add('2022-04-11',-29),payment_count,0)) payment_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),payment_num,0)) payment_last_30d_num, sum(if(dt>=date_add('2022-04-11',-29),payment_amount,0)) payment_last_30d_amount, sum(payment_count) payment_count, sum(payment_num) payment_num, sum(payment_amount) payment_amount, sum(if(dt='2022-04-11',refund_order_count,0)) refund_order_last_1d_count, sum(if(dt='2022-04-11',refund_order_num,0)) refund_order_last_1d_num, sum(if(dt='2022-04-11',refund_order_amount,0)) refund_order_last_1d_amount, sum(if(dt>=date_add('2022-04-11',-6),refund_order_count,0)) refund_order_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),refund_order_num,0)) refund_order_last_7d_num, sum(if(dt>=date_add('2022-04-11',-6),refund_order_amount,0)) refund_order_last_7d_amount, sum(if(dt>=date_add('2022-04-11',-29),refund_order_count,0)) refund_order_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),refund_order_num,0)) refund_order_last_30d_num, sum(if(dt>=date_add('2022-04-11',-29),refund_order_amount,0)) refund_order_last_30d_amount, sum(refund_order_count) refund_order_count, sum(refund_order_num) refund_order_num, sum(refund_order_amount) refund_order_amount, sum(if(dt='2022-04-11',refund_payment_count,0)) refund_payment_last_1d_count, sum(if(dt='2022-04-11',refund_payment_num,0)) refund_payment_last_1d_num, sum(if(dt='2022-04-11',refund_payment_amount,0)) refund_payment_last_1d_amount, sum(if(dt>=date_add('2022-04-11',-6),refund_payment_count,0)) refund_payment_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),refund_payment_num,0)) refund_payment_last_7d_num, sum(if(dt>=date_add('2022-04-11',-6),refund_payment_amount,0)) refund_payment_last_7d_amount, sum(if(dt>=date_add('2022-04-11',-29),refund_payment_count,0)) refund_payment_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),refund_payment_num,0)) refund_payment_last_30d_num, sum(if(dt>=date_add('2022-04-11',-29),refund_payment_amount,0)) refund_payment_last_30d_amount, sum(refund_payment_count) refund_payment_count, sum(refund_payment_num) refund_payment_num, sum(refund_payment_amount) refund_payment_amount, sum(if(dt='2022-04-11',cart_count,0)) cart_last_1d_count, sum(if(dt>=date_add('2022-04-11',-6),cart_count,0)) cart_last_7d_count, sum(if(dt>=date_add('2022-04-11',-29),cart_count,0)) cart_last_30d_count, sum(cart_count) cart_count, sum(if(dt='2022-04-11',favor_count,0)) favor_last_1d_count, sum(if(dt>=date_add('2022-04-11',-6),favor_count,0)) favor_last_7d_count, sum(if(dt>=date_add('2022-04-11',-29),favor_count,0)) favor_last_30d_count, sum(favor_count) favor_count, sum(if(dt='2022-04-11',appraise_good_count,0)) appraise_last_1d_good_count, sum(if(dt='2022-04-11',appraise_mid_count,0)) appraise_last_1d_mid_count, sum(if(dt='2022-04-11',appraise_bad_count,0)) appraise_last_1d_bad_count, sum(if(dt='2022-04-11',appraise_default_count,0)) appraise_last_1d_default_count, sum(if(dt>=date_add('2022-04-11',-6),appraise_good_count,0)) appraise_last_7d_good_count, sum(if(dt>=date_add('2022-04-11',-6),appraise_mid_count,0)) appraise_last_7d_mid_count, sum(if(dt>=date_add('2022-04-11',-6),appraise_bad_count,0)) appraise_last_7d_bad_count, sum(if(dt>=date_add('2022-04-11',-6),appraise_default_count,0)) appraise_last_7d_default_count, sum(if(dt>=date_add('2022-04-11',-29),appraise_good_count,0)) appraise_last_30d_good_count, sum(if(dt>=date_add('2022-04-11',-29),appraise_mid_count,0)) appraise_last_30d_mid_count, sum(if(dt>=date_add('2022-04-11',-29),appraise_bad_count,0)) appraise_last_30d_bad_count, sum(if(dt>=date_add('2022-04-11',-29),appraise_default_count,0)) appraise_last_30d_default_count, sum(appraise_good_count) appraise_good_count, sum(appraise_mid_count) appraise_mid_count, sum(appraise_bad_count) appraise_bad_count, sum(appraise_default_count) appraise_default_count from dws_sku_action_daycount group by sku_id )t2 on t1.id=t2.sku_id;

2)每日装载

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
insert overwrite table dwt_sku_topic partition(dt='2022-04-12') select nvl(1d_ago.sku_id,old.sku_id), nvl(1d_ago.order_count,0), nvl(1d_ago.order_num,0), nvl(1d_ago.order_activity_count,0), nvl(1d_ago.order_coupon_count,0), nvl(1d_ago.order_activity_reduce_amount,0.0), nvl(1d_ago.order_coupon_reduce_amount,0.0), nvl(1d_ago.order_original_amount,0.0), nvl(1d_ago.order_final_amount,0.0), nvl(old.order_last_7d_count,0)+nvl(1d_ago.order_count,0)- nvl(7d_ago.order_count,0), nvl(old.order_last_7d_num,0)+nvl(1d_ago.order_num,0)- nvl(7d_ago.order_num,0), nvl(old.order_activity_last_7d_count,0)+nvl(1d_ago.order_activity_count,0)- nvl(7d_ago.order_activity_count,0), nvl(old.order_coupon_last_7d_count,0)+nvl(1d_ago.order_coupon_count,0)- nvl(7d_ago.order_coupon_count,0), nvl(old.order_activity_reduce_last_7d_amount,0.0)+nvl(1d_ago.order_activity_reduce_amount,0.0)- nvl(7d_ago.order_activity_reduce_amount,0.0), nvl(old.order_coupon_reduce_last_7d_amount,0.0)+nvl(1d_ago.order_coupon_reduce_amount,0.0)- nvl(7d_ago.order_coupon_reduce_amount,0.0), nvl(old.order_last_7d_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0)- nvl(7d_ago.order_original_amount,0.0), nvl(old.order_last_7d_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0)- nvl(7d_ago.order_final_amount,0.0), nvl(old.order_last_30d_count,0)+nvl(1d_ago.order_count,0)- nvl(30d_ago.order_count,0), nvl(old.order_last_30d_num,0)+nvl(1d_ago.order_num,0)- nvl(30d_ago.order_num,0), nvl(old.order_activity_last_30d_count,0)+nvl(1d_ago.order_activity_count,0)- nvl(30d_ago.order_activity_count,0), nvl(old.order_coupon_last_30d_count,0)+nvl(1d_ago.order_coupon_count,0)- nvl(30d_ago.order_coupon_count,0), nvl(old.order_activity_reduce_last_30d_amount,0.0)+nvl(1d_ago.order_activity_reduce_amount,0.0)- nvl(30d_ago.order_activity_reduce_amount,0.0), nvl(old.order_coupon_reduce_last_30d_amount,0.0)+nvl(1d_ago.order_coupon_reduce_amount,0.0)- nvl(30d_ago.order_coupon_reduce_amount,0.0), nvl(old.order_last_30d_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0)- nvl(30d_ago.order_original_amount,0.0), nvl(old.order_last_30d_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0)- nvl(30d_ago.order_final_amount,0.0), nvl(old.order_count,0)+nvl(1d_ago.order_count,0), nvl(old.order_num,0)+nvl(1d_ago.order_num,0), nvl(old.order_activity_count,0)+nvl(1d_ago.order_activity_count,0), nvl(old.order_coupon_count,0)+nvl(1d_ago.order_coupon_count,0), nvl(old.order_activity_reduce_amount,0.0)+nvl(1d_ago.order_activity_reduce_amount,0.0), nvl(old.order_coupon_reduce_amount,0.0)+nvl(1d_ago.order_coupon_reduce_amount,0.0), nvl(old.order_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0), nvl(old.order_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0), nvl(1d_ago.payment_count,0), nvl(1d_ago.payment_num,0), nvl(1d_ago.payment_amount,0.0), nvl(old.payment_last_7d_count,0)+nvl(1d_ago.payment_count,0)- nvl(7d_ago.payment_count,0), nvl(old.payment_last_7d_num,0)+nvl(1d_ago.payment_num,0)- nvl(7d_ago.payment_num,0), nvl(old.payment_last_7d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)- nvl(7d_ago.payment_amount,0.0), nvl(old.payment_last_30d_count,0)+nvl(1d_ago.payment_count,0)- nvl(30d_ago.payment_count,0), nvl(old.payment_last_30d_num,0)+nvl(1d_ago.payment_num,0)- nvl(30d_ago.payment_num,0), nvl(old.payment_last_30d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)- nvl(30d_ago.payment_amount,0.0), nvl(old.payment_count,0)+nvl(1d_ago.payment_count,0), nvl(old.payment_num,0)+nvl(1d_ago.payment_num,0), nvl(old.payment_amount,0.0)+nvl(1d_ago.payment_amount,0.0), nvl(old.refund_order_last_1d_count,0)+nvl(1d_ago.refund_order_count,0)- nvl(1d_ago.refund_order_count,0), nvl(old.refund_order_last_1d_num,0)+nvl(1d_ago.refund_order_num,0)- nvl(1d_ago.refund_order_num,0), nvl(old.refund_order_last_1d_amount,0.0)+nvl(1d_ago.refund_order_amount,0.0)- nvl(1d_ago.refund_order_amount,0.0), nvl(old.refund_order_last_7d_count,0)+nvl(1d_ago.refund_order_count,0)- nvl(7d_ago.refund_order_count,0), nvl(old.refund_order_last_7d_num,0)+nvl(1d_ago.refund_order_num,0)- nvl(7d_ago.refund_order_num,0), nvl(old.refund_order_last_7d_amount,0.0)+nvl(1d_ago.refund_order_amount,0.0)- nvl(7d_ago.refund_order_amount,0.0), nvl(old.refund_order_last_30d_count,0)+nvl(1d_ago.refund_order_count,0)- nvl(30d_ago.refund_order_count,0), nvl(old.refund_order_last_30d_num,0)+nvl(1d_ago.refund_order_num,0)- nvl(30d_ago.refund_order_num,0), nvl(old.refund_order_last_30d_amount,0.0)+nvl(1d_ago.refund_order_amount,0.0)- nvl(30d_ago.refund_order_amount,0.0), nvl(old.refund_order_count,0)+nvl(1d_ago.refund_order_count,0), nvl(old.refund_order_num,0)+nvl(1d_ago.refund_order_num,0), nvl(old.refund_order_amount,0.0)+nvl(1d_ago.refund_order_amount,0.0), nvl(1d_ago.refund_payment_count,0), nvl(1d_ago.refund_payment_num,0), nvl(1d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_last_7d_count,0)+nvl(1d_ago.refund_payment_count,0)- nvl(7d_ago.refund_payment_count,0), nvl(old.refund_payment_last_7d_num,0)+nvl(1d_ago.refund_payment_num,0)- nvl(7d_ago.refund_payment_num,0), nvl(old.refund_payment_last_7d_amount,0.0)+nvl(1d_ago.refund_payment_amount,0.0)- nvl(7d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_last_30d_count,0)+nvl(1d_ago.refund_payment_count,0)- nvl(30d_ago.refund_payment_count,0), nvl(old.refund_payment_last_30d_num,0)+nvl(1d_ago.refund_payment_num,0)- nvl(30d_ago.refund_payment_num,0), nvl(old.refund_payment_last_30d_amount,0.0)+nvl(1d_ago.refund_payment_amount,0.0)- nvl(30d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_count,0)+nvl(1d_ago.refund_payment_count,0), nvl(old.refund_payment_num,0)+nvl(1d_ago.refund_payment_num,0), nvl(old.refund_payment_amount,0.0)+nvl(1d_ago.refund_payment_amount,0.0), nvl(1d_ago.cart_count,0), nvl(old.cart_last_7d_count,0)+nvl(1d_ago.cart_count,0)- nvl(7d_ago.cart_count,0), nvl(old.cart_last_30d_count,0)+nvl(1d_ago.cart_count,0)- nvl(30d_ago.cart_count,0), nvl(old.cart_count,0)+nvl(1d_ago.cart_count,0), nvl(1d_ago.favor_count,0), nvl(old.favor_last_7d_count,0)+nvl(1d_ago.favor_count,0)- nvl(7d_ago.favor_count,0), nvl(old.favor_last_30d_count,0)+nvl(1d_ago.favor_count,0)- nvl(30d_ago.favor_count,0), nvl(old.favor_count,0)+nvl(1d_ago.favor_count,0), nvl(1d_ago.appraise_good_count,0), nvl(1d_ago.appraise_mid_count,0), nvl(1d_ago.appraise_bad_count,0), nvl(1d_ago.appraise_default_count,0), nvl(old.appraise_last_7d_good_count,0)+nvl(1d_ago.appraise_good_count,0)- nvl(7d_ago.appraise_good_count,0), nvl(old.appraise_last_7d_mid_count,0)+nvl(1d_ago.appraise_mid_count,0)- nvl(7d_ago.appraise_mid_count,0), nvl(old.appraise_last_7d_bad_count,0)+nvl(1d_ago.appraise_bad_count,0)- nvl(7d_ago.appraise_bad_count,0), nvl(old.appraise_last_7d_default_count,0)+nvl(1d_ago.appraise_default_count,0)- nvl(7d_ago.appraise_default_count,0), nvl(old.appraise_last_30d_good_count,0)+nvl(1d_ago.appraise_good_count,0)- nvl(30d_ago.appraise_good_count,0), nvl(old.appraise_last_30d_mid_count,0)+nvl(1d_ago.appraise_mid_count,0)- nvl(30d_ago.appraise_mid_count,0), nvl(old.appraise_last_30d_bad_count,0)+nvl(1d_ago.appraise_bad_count,0)- nvl(30d_ago.appraise_bad_count,0), nvl(old.appraise_last_30d_default_count,0)+nvl(1d_ago.appraise_default_count,0)- nvl(30d_ago.appraise_default_count,0), nvl(old.appraise_good_count,0)+nvl(1d_ago.appraise_good_count,0), nvl(old.appraise_mid_count,0)+nvl(1d_ago.appraise_mid_count,0), nvl(old.appraise_bad_count,0)+nvl(1d_ago.appraise_bad_count,0), nvl(old.appraise_default_count,0)+nvl(1d_ago.appraise_default_count,0) from ( select sku_id, order_last_1d_count, order_last_1d_num, order_activity_last_1d_count, order_coupon_last_1d_count, order_activity_reduce_last_1d_amount, order_coupon_reduce_last_1d_amount, order_last_1d_original_amount, order_last_1d_final_amount, order_last_7d_count, order_last_7d_num, order_activity_last_7d_count, order_coupon_last_7d_count, order_activity_reduce_last_7d_amount, order_coupon_reduce_last_7d_amount, order_last_7d_original_amount, order_last_7d_final_amount, order_last_30d_count, order_last_30d_num, order_activity_last_30d_count, order_coupon_last_30d_count, order_activity_reduce_last_30d_amount, order_coupon_reduce_last_30d_amount, order_last_30d_original_amount, order_last_30d_final_amount, order_count, order_num, order_activity_count, order_coupon_count, order_activity_reduce_amount, order_coupon_reduce_amount, order_original_amount, order_final_amount, payment_last_1d_count, payment_last_1d_num, payment_last_1d_amount, payment_last_7d_count, payment_last_7d_num, payment_last_7d_amount, payment_last_30d_count, payment_last_30d_num, payment_last_30d_amount, payment_count, payment_num, payment_amount, refund_order_last_1d_count, refund_order_last_1d_num, refund_order_last_1d_amount, refund_order_last_7d_count, refund_order_last_7d_num, refund_order_last_7d_amount, refund_order_last_30d_count, refund_order_last_30d_num, refund_order_last_30d_amount, refund_order_count, refund_order_num, refund_order_amount, refund_payment_last_1d_count, refund_payment_last_1d_num, refund_payment_last_1d_amount, refund_payment_last_7d_count, refund_payment_last_7d_num, refund_payment_last_7d_amount, refund_payment_last_30d_count, refund_payment_last_30d_num, refund_payment_last_30d_amount, refund_payment_count, refund_payment_num, refund_payment_amount, cart_last_1d_count, cart_last_7d_count, cart_last_30d_count, cart_count, favor_last_1d_count, favor_last_7d_count, favor_last_30d_count, favor_count, appraise_last_1d_good_count, appraise_last_1d_mid_count, appraise_last_1d_bad_count, appraise_last_1d_default_count, appraise_last_7d_good_count, appraise_last_7d_mid_count, appraise_last_7d_bad_count, appraise_last_7d_default_count, appraise_last_30d_good_count, appraise_last_30d_mid_count, appraise_last_30d_bad_count, appraise_last_30d_default_count, appraise_good_count, appraise_mid_count, appraise_bad_count, appraise_default_count from dwt_sku_topic where dt=date_add('2022-04-12',-1) )old full outer join ( select sku_id, order_count, order_num, order_activity_count, order_coupon_count, order_activity_reduce_amount, order_coupon_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_num, payment_amount, refund_order_count, refund_order_num, refund_order_amount, refund_payment_count, refund_payment_num, refund_payment_amount, cart_count, favor_count, appraise_good_count, appraise_mid_count, appraise_bad_count, appraise_default_count from dws_sku_action_daycount where dt='2022-04-12' )1d_ago on old.sku_id=1d_ago.sku_id left join ( select sku_id, order_count, order_num, order_activity_count, order_coupon_count, order_activity_reduce_amount, order_coupon_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_num, payment_amount, refund_order_count, refund_order_num, refund_order_amount, refund_payment_count, refund_payment_num, refund_payment_amount, cart_count, favor_count, appraise_good_count, appraise_mid_count, appraise_bad_count, appraise_default_count from dws_sku_action_daycount where dt=date_add('2022-04-12',-7) )7d_ago on old.sku_id=7d_ago.sku_id left join ( select sku_id, order_count, order_num, order_activity_count, order_coupon_count, order_activity_reduce_amount, order_coupon_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_num, payment_amount, refund_order_count, refund_order_num, refund_order_amount, refund_payment_count, refund_payment_num, refund_payment_amount, cart_count, favor_count, appraise_good_count, appraise_mid_count, appraise_bad_count, appraise_default_count from dws_sku_action_daycount where dt=date_add('2022-04-12',-30) )30d_ago on old.sku_id=30d_ago.sku_id;

5、优惠券主题

1)建表语句

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
DROP TABLE IF EXISTS dwt_coupon_topic; CREATE EXTERNAL TABLE dwt_coupon_topic( `coupon_id` STRING COMMENT '优惠券ID', `get_last_1d_count` BIGINT COMMENT '最近1日领取次数', `get_last_7d_count` BIGINT COMMENT '最近7日领取次数', `get_last_30d_count` BIGINT COMMENT '最近30日领取次数', `get_count` BIGINT COMMENT '累积领取次数', `order_last_1d_count` BIGINT COMMENT '最近1日使用某券下单次数', `order_last_1d_reduce_amount` DECIMAL(16,2) COMMENT '最近1日使用某券下单优惠金额', `order_last_1d_original_amount` DECIMAL(16,2) COMMENT '最近1日使用某券下单原始金额', `order_last_1d_final_amount` DECIMAL(16,2) COMMENT '最近1日使用某券下单最终金额', `order_last_7d_count` BIGINT COMMENT '最近7日使用某券下单次数', `order_last_7d_reduce_amount` DECIMAL(16,2) COMMENT '最近7日使用某券下单优惠金额', `order_last_7d_original_amount` DECIMAL(16,2) COMMENT '最近7日使用某券下单原始金额', `order_last_7d_final_amount` DECIMAL(16,2) COMMENT '最近7日使用某券下单最终金额', `order_last_30d_count` BIGINT COMMENT '最近30日使用某券下单次数', `order_last_30d_reduce_amount` DECIMAL(16,2) COMMENT '最近30日使用某券下单优惠金额', `order_last_30d_original_amount` DECIMAL(16,2) COMMENT '最近30日使用某券下单原始金额', `order_last_30d_final_amount` DECIMAL(16,2) COMMENT '最近30日使用某券下单最终金额', `order_count` BIGINT COMMENT '累积使用(下单)次数', `order_reduce_amount` DECIMAL(16,2) COMMENT '使用某券累积下单优惠金额', `order_original_amount` DECIMAL(16,2) COMMENT '使用某券累积下单原始金额', `order_final_amount` DECIMAL(16,2) COMMENT '使用某券累积下单最终金额', `payment_last_1d_count` BIGINT COMMENT '最近1日使用某券支付次数', `payment_last_1d_reduce_amount` DECIMAL(16,2) COMMENT '最近1日使用某券优惠金额', `payment_last_1d_amount` DECIMAL(16,2) COMMENT '最近1日使用某券支付金额', `payment_last_7d_count` BIGINT COMMENT '最近7日使用某券支付次数', `payment_last_7d_reduce_amount` DECIMAL(16,2) COMMENT '最近7日使用某券优惠金额', `payment_last_7d_amount` DECIMAL(16,2) COMMENT '最近7日使用某券支付金额', `payment_last_30d_count` BIGINT COMMENT '最近30日使用某券支付次数', `payment_last_30d_reduce_amount` DECIMAL(16,2) COMMENT '最近30日使用某券优惠金额', `payment_last_30d_amount` DECIMAL(16,2) COMMENT '最近30日使用某券支付金额', `payment_count` BIGINT COMMENT '累积使用(支付)次数', `payment_reduce_amount` DECIMAL(16,2) COMMENT '使用某券累积优惠金额', `payment_amount` DECIMAL(16,2) COMMENT '使用某券累积支付金额', `expire_last_1d_count` BIGINT COMMENT '最近1日过期次数', `expire_last_7d_count` BIGINT COMMENT '最近7日过期次数', `expire_last_30d_count` BIGINT COMMENT '最近30日过期次数', `expire_count` BIGINT COMMENT '累积过期次数' )comment '优惠券主题表' PARTITIONED BY (`dt` STRING) STORED AS PARQUET LOCATION '/warehouse/gmall/dwt/dwt_coupon_topic/' TBLPROPERTIES ("parquet.compression"="lzo");

2)首日装载

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
insert overwrite table dwt_coupon_topic partition(dt='2022-04-11') select id, nvl(get_last_1d_count,0), nvl(get_last_7d_count,0), nvl(get_last_30d_count,0), nvl(get_count,0), nvl(order_last_1d_count,0), nvl(order_last_1d_reduce_amount,0), nvl(order_last_1d_original_amount,0), nvl(order_last_1d_final_amount,0), nvl(order_last_7d_count,0), nvl(order_last_7d_reduce_amount,0), nvl(order_last_7d_original_amount,0), nvl(order_last_7d_final_amount,0), nvl(order_last_30d_count,0), nvl(order_last_30d_reduce_amount,0), nvl(order_last_30d_original_amount,0), nvl(order_last_30d_final_amount,0), nvl(order_count,0), nvl(order_reduce_amount,0), nvl(order_original_amount,0), nvl(order_final_amount,0), nvl(payment_last_1d_count,0), nvl(payment_last_1d_reduce_amount,0), nvl(payment_last_1d_amount,0), nvl(payment_last_7d_count,0), nvl(payment_last_7d_reduce_amount,0), nvl(payment_last_7d_amount,0), nvl(payment_last_30d_count,0), nvl(payment_last_30d_reduce_amount,0), nvl(payment_last_30d_amount,0), nvl(payment_count,0), nvl(payment_reduce_amount,0), nvl(payment_amount,0), nvl(expire_last_1d_count,0), nvl(expire_last_7d_count,0), nvl(expire_last_30d_count,0), nvl(expire_count,0) from ( select id from dim_coupon_info where dt='2022-04-11' )t1 left join ( select coupon_id coupon_id, sum(if(dt='2022-04-11',get_count,0)) get_last_1d_count, sum(if(dt>=date_add('2022-04-11',-6),get_count,0)) get_last_7d_count, sum(if(dt>=date_add('2022-04-11',-29),get_count,0)) get_last_30d_count, sum(get_count) get_count, sum(if(dt='2022-04-11',order_count,0)) order_last_1d_count, sum(if(dt='2022-04-11',order_reduce_amount,0)) order_last_1d_reduce_amount, sum(if(dt='2022-04-11',order_original_amount,0)) order_last_1d_original_amount, sum(if(dt='2022-04-11',order_final_amount,0)) order_last_1d_final_amount, sum(if(dt>=date_add('2022-04-11',-6),order_count,0)) order_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),order_reduce_amount,0)) order_last_7d_reduce_amount, sum(if(dt>=date_add('2022-04-11',-6),order_original_amount,0)) order_last_7d_original_amount, sum(if(dt>=date_add('2022-04-11',-6),order_final_amount,0)) order_last_7d_final_amount, sum(if(dt>=date_add('2022-04-11',-29),order_count,0)) order_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),order_reduce_amount,0)) order_last_30d_reduce_amount, sum(if(dt>=date_add('2022-04-11',-29),order_original_amount,0)) order_last_30d_original_amount, sum(if(dt>=date_add('2022-04-11',-29),order_final_amount,0)) order_last_30d_final_amount, sum(order_count) order_count, sum(order_reduce_amount) order_reduce_amount, sum(order_original_amount) order_original_amount, sum(order_final_amount) order_final_amount, sum(if(dt='2022-04-11',payment_count,0)) payment_last_1d_count, sum(if(dt='2022-04-11',payment_reduce_amount,0)) payment_last_1d_reduce_amount, sum(if(dt='2022-04-11',payment_amount,0)) payment_last_1d_amount, sum(if(dt>=date_add('2022-04-11',-6),payment_count,0)) payment_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),payment_reduce_amount,0)) payment_last_7d_reduce_amount, sum(if(dt>=date_add('2022-04-11',-6),payment_amount,0)) payment_last_7d_amount, sum(if(dt>=date_add('2022-04-11',-29),payment_count,0)) payment_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),payment_reduce_amount,0)) payment_last_30d_reduce_amount, sum(if(dt>=date_add('2022-04-11',-29),payment_amount,0)) payment_last_30d_amount, sum(payment_count) payment_count, sum(payment_reduce_amount) payment_reduce_amount, sum(payment_amount) payment_amount, sum(if(dt='2022-04-11',expire_count,0)) expire_last_1d_count, sum(if(dt>=date_add('2022-04-11',-6),expire_count,0)) expire_last_7d_count, sum(if(dt>=date_add('2022-04-11',-29),expire_count,0)) expire_last_30d_count, sum(expire_count) expire_count from dws_coupon_info_daycount group by coupon_id )t2 on t1.id=t2.coupon_id;

3)每日装载

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
insert overwrite table dwt_coupon_topic partition(dt='2022-04-12') select nvl(1d_ago.coupon_id,old.coupon_id), nvl(1d_ago.get_count,0), nvl(old.get_last_7d_count,0)+nvl(1d_ago.get_count,0)- nvl(7d_ago.get_count,0), nvl(old.get_last_30d_count,0)+nvl(1d_ago.get_count,0)- nvl(30d_ago.get_count,0), nvl(old.get_count,0)+nvl(1d_ago.get_count,0), nvl(1d_ago.order_count,0), nvl(1d_ago.order_reduce_amount,0.0), nvl(1d_ago.order_original_amount,0.0), nvl(1d_ago.order_final_amount,0.0), nvl(old.order_last_7d_count,0)+nvl(1d_ago.order_count,0)- nvl(7d_ago.order_count,0), nvl(old.order_last_7d_reduce_amount,0.0)+nvl(1d_ago.order_reduce_amount,0.0)- nvl(7d_ago.order_reduce_amount,0.0), nvl(old.order_last_7d_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0)- nvl(7d_ago.order_original_amount,0.0), nvl(old.order_last_7d_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0)- nvl(7d_ago.order_final_amount,0.0), nvl(old.order_last_30d_count,0)+nvl(1d_ago.order_count,0)- nvl(30d_ago.order_count,0), nvl(old.order_last_30d_reduce_amount,0.0)+nvl(1d_ago.order_reduce_amount,0.0)- nvl(30d_ago.order_reduce_amount,0.0), nvl(old.order_last_30d_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0)- nvl(30d_ago.order_original_amount,0.0), nvl(old.order_last_30d_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0)- nvl(30d_ago.order_final_amount,0.0), nvl(old.order_count,0)+nvl(1d_ago.order_count,0), nvl(old.order_reduce_amount,0.0)+nvl(1d_ago.order_reduce_amount,0.0), nvl(old.order_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0), nvl(old.order_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0), nvl(old.payment_last_1d_count,0)+nvl(1d_ago.payment_count,0)- nvl(1d_ago.payment_count,0), nvl(old.payment_last_1d_reduce_amount,0.0)+nvl(1d_ago.payment_reduce_amount,0.0)- nvl(1d_ago.payment_reduce_amount,0.0), nvl(old.payment_last_1d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)- nvl(1d_ago.payment_amount,0.0), nvl(old.payment_last_7d_count,0)+nvl(1d_ago.payment_count,0)- nvl(7d_ago.payment_count,0), nvl(old.payment_last_7d_reduce_amount,0.0)+nvl(1d_ago.payment_reduce_amount,0.0)- nvl(7d_ago.payment_reduce_amount,0.0), nvl(old.payment_last_7d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)- nvl(7d_ago.payment_amount,0.0), nvl(old.payment_last_30d_count,0)+nvl(1d_ago.payment_count,0)- nvl(30d_ago.payment_count,0), nvl(old.payment_last_30d_reduce_amount,0.0)+nvl(1d_ago.payment_reduce_amount,0.0)- nvl(30d_ago.payment_reduce_amount,0.0), nvl(old.payment_last_30d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)- nvl(30d_ago.payment_amount,0.0), nvl(old.payment_count,0)+nvl(1d_ago.payment_count,0), nvl(old.payment_reduce_amount,0.0)+nvl(1d_ago.payment_reduce_amount,0.0), nvl(old.payment_amount,0.0)+nvl(1d_ago.payment_amount,0.0), nvl(1d_ago.expire_count,0), nvl(old.expire_last_7d_count,0)+nvl(1d_ago.expire_count,0)- nvl(7d_ago.expire_count,0), nvl(old.expire_last_30d_count,0)+nvl(1d_ago.expire_count,0)- nvl(30d_ago.expire_count,0), nvl(old.expire_count,0)+nvl(1d_ago.expire_count,0) from ( select coupon_id, get_last_1d_count, get_last_7d_count, get_last_30d_count, get_count, order_last_1d_count, order_last_1d_reduce_amount, order_last_1d_original_amount, order_last_1d_final_amount, order_last_7d_count, order_last_7d_reduce_amount, order_last_7d_original_amount, order_last_7d_final_amount, order_last_30d_count, order_last_30d_reduce_amount, order_last_30d_original_amount, order_last_30d_final_amount, order_count, order_reduce_amount, order_original_amount, order_final_amount, payment_last_1d_count, payment_last_1d_reduce_amount, payment_last_1d_amount, payment_last_7d_count, payment_last_7d_reduce_amount, payment_last_7d_amount, payment_last_30d_count, payment_last_30d_reduce_amount, payment_last_30d_amount, payment_count, payment_reduce_amount, payment_amount, expire_last_1d_count, expire_last_7d_count, expire_last_30d_count, expire_count from dwt_coupon_topic where dt=date_add('2022-04-12',-1) )old full outer join ( select coupon_id, get_count, order_count, order_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_reduce_amount, payment_amount, expire_count from dws_coupon_info_daycount where dt='2022-04-12' )1d_ago on old.coupon_id=1d_ago.coupon_id left join ( select coupon_id, get_count, order_count, order_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_reduce_amount, payment_amount, expire_count from dws_coupon_info_daycount where dt=date_add('2022-04-12',-7) )7d_ago on old.coupon_id=7d_ago.coupon_id left join ( select coupon_id, get_count, order_count, order_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_reduce_amount, payment_amount, expire_count from dws_coupon_info_daycount where dt=date_add('2022-04-12',-30) )30d_ago on old.coupon_id=30d_ago.coupon_id;

6、活动主题

1)建表语句

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
DROP TABLE IF EXISTS dwt_activity_topic; CREATE EXTERNAL TABLE dwt_activity_topic( `activity_rule_id` STRING COMMENT '活动规则ID', `activity_id` STRING COMMENT '活动ID', `order_last_1d_count` BIGINT COMMENT '最近1日参与某活动某规则下单次数', `order_last_1d_reduce_amount` DECIMAL(16,2) COMMENT '最近1日参与某活动某规则下单优惠金额', `order_last_1d_original_amount` DECIMAL(16,2) COMMENT '最近1日参与某活动某规则下单原始金额', `order_last_1d_final_amount` DECIMAL(16,2) COMMENT '最近1日参与某活动某规则下单最终金额', `order_count` BIGINT COMMENT '参与某活动某规则累积下单次数', `order_reduce_amount` DECIMAL(16,2) COMMENT '参与某活动某规则累积下单优惠金额', `order_original_amount` DECIMAL(16,2) COMMENT '参与某活动某规则累积下单原始金额', `order_final_amount` DECIMAL(16,2) COMMENT '参与某活动某规则累积下单最终金额', `payment_last_1d_count` BIGINT COMMENT '最近1日参与某活动某规则支付次数', `payment_last_1d_reduce_amount` DECIMAL(16,2) COMMENT '最近1日参与某活动某规则支付优惠金额', `payment_last_1d_amount` DECIMAL(16,2) COMMENT '最近1日参与某活动某规则支付金额', `payment_count` BIGINT COMMENT '参与某活动某规则累积支付次数', `payment_reduce_amount` DECIMAL(16,2) COMMENT '参与某活动某规则累积支付优惠金额', `payment_amount` DECIMAL(16,2) COMMENT '参与某活动某规则累积支付金额' ) COMMENT '活动主题宽表' PARTITIONED BY (`dt` STRING) STORED AS PARQUET LOCATION '/warehouse/gmall/dwt/dwt_activity_topic/' TBLPROPERTIES ("parquet.compression"="lzo");

2)首日装载

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
insert overwrite table dwt_activity_topic partition(dt='2022-04-11') select t1.activity_rule_id, t1.activity_id, nvl(order_last_1d_count,0), nvl(order_last_1d_reduce_amount,0), nvl(order_last_1d_original_amount,0), nvl(order_last_1d_final_amount,0), nvl(order_count,0), nvl(order_reduce_amount,0), nvl(order_original_amount,0), nvl(order_final_amount,0), nvl(payment_last_1d_count,0), nvl(payment_last_1d_reduce_amount,0), nvl(payment_last_1d_amount,0), nvl(payment_count,0), nvl(payment_reduce_amount,0), nvl(payment_amount,0) from ( select activity_rule_id, activity_id from dim_activity_rule_info where dt='2022-04-11' )t1 left join ( select activity_rule_id, activity_id, sum(if(dt='2022-04-11',order_count,0)) order_last_1d_count, sum(if(dt='2022-04-11',order_reduce_amount,0)) order_last_1d_reduce_amount, sum(if(dt='2022-04-11',order_original_amount,0)) order_last_1d_original_amount, sum(if(dt='2022-04-11',order_final_amount,0)) order_last_1d_final_amount, sum(order_count) order_count, sum(order_reduce_amount) order_reduce_amount, sum(order_original_amount) order_original_amount, sum(order_final_amount) order_final_amount, sum(if(dt='2022-04-11',payment_count,0)) payment_last_1d_count, sum(if(dt='2022-04-11',payment_reduce_amount,0)) payment_last_1d_reduce_amount, sum(if(dt='2022-04-11',payment_amount,0)) payment_last_1d_amount, sum(payment_count) payment_count, sum(payment_reduce_amount) payment_reduce_amount, sum(payment_amount) payment_amount from dws_activity_info_daycount group by activity_rule_id,activity_id )t2 on t1.activity_rule_id=t2.activity_rule_id and t1.activity_id=t2.activity_id;

3)每日装载

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
insert overwrite table dwt_activity_topic partition(dt='2020- insert overwrite table dwt_activity_topic partition(dt='2022-04-12') select nvl(1d_ago.activity_rule_id,old.activity_rule_id), nvl(1d_ago.activity_id,old.activity_id), nvl(1d_ago.order_count,0), nvl(1d_ago.order_reduce_amount,0.0), nvl(1d_ago.order_original_amount,0.0), nvl(1d_ago.order_final_amount,0.0), nvl(old.order_count,0)+nvl(1d_ago.order_count,0), nvl(old.order_reduce_amount,0.0)+nvl(1d_ago.order_reduce_amount,0.0), nvl(old.order_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0), nvl(old.order_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0), nvl(1d_ago.payment_count,0), nvl(1d_ago.payment_reduce_amount,0.0), nvl(1d_ago.payment_amount,0.0), nvl(old.payment_count,0)+nvl(1d_ago.payment_count,0), nvl(old.payment_reduce_amount,0.0)+nvl(1d_ago.payment_reduce_amount,0.0), nvl(old.payment_amount,0.0)+nvl(1d_ago.payment_amount,0.0) from ( select activity_rule_id, activity_id, order_count, order_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_reduce_amount, payment_amount from dwt_activity_topic where dt=date_add('2022-04-12',-1) )old full outer join ( select activity_rule_id, activity_id, order_count, order_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_reduce_amount, payment_amount from dws_activity_info_daycount where dt='2022-04-12' )1d_ago on old.activity_rule_id=1d_ago.activity_rule_id;

7、地区主题

1)建表语句

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
DROP TABLE IF EXISTS dwt_area_topic; CREATE EXTERNAL TABLE dwt_area_topic( `province_id` STRING COMMENT '编号', `visit_last_1d_count` BIGINT COMMENT '最近1日访客访问次数', `login_last_1d_count` BIGINT COMMENT '最近1日用户访问次数', `visit_last_7d_count` BIGINT COMMENT '最近7访客访问次数', `login_last_7d_count` BIGINT COMMENT '最近7日用户访问次数', `visit_last_30d_count` BIGINT COMMENT '最近30日访客访问次数', `login_last_30d_count` BIGINT COMMENT '最近30日用户访问次数', `visit_count` BIGINT COMMENT '累积访客访问次数', `login_count` BIGINT COMMENT '累积用户访问次数', `order_last_1d_count` BIGINT COMMENT '最近1天下单次数', `order_last_1d_original_amount` DECIMAL(16,2) COMMENT '最近1天下单原始金额', `order_last_1d_final_amount` DECIMAL(16,2) COMMENT '最近1天下单最终金额', `order_last_7d_count` BIGINT COMMENT '最近7天下单次数', `order_last_7d_original_amount` DECIMAL(16,2) COMMENT '最近7天下单原始金额', `order_last_7d_final_amount` DECIMAL(16,2) COMMENT '最近7天下单最终金额', `order_last_30d_count` BIGINT COMMENT '最近30天下单次数', `order_last_30d_original_amount` DECIMAL(16,2) COMMENT '最近30天下单原始金额', `order_last_30d_final_amount` DECIMAL(16,2) COMMENT '最近30天下单最终金额', `order_count` BIGINT COMMENT '累积下单次数', `order_original_amount` DECIMAL(16,2) COMMENT '累积下单原始金额', `order_final_amount` DECIMAL(16,2) COMMENT '累积下单最终金额', `payment_last_1d_count` BIGINT COMMENT '最近1天支付次数', `payment_last_1d_amount` DECIMAL(16,2) COMMENT '最近1天支付金额', `payment_last_7d_count` BIGINT COMMENT '最近7天支付次数', `payment_last_7d_amount` DECIMAL(16,2) COMMENT '最近7天支付金额', `payment_last_30d_count` BIGINT COMMENT '最近30天支付次数', `payment_last_30d_amount` DECIMAL(16,2) COMMENT '最近30天支付金额', `payment_count` BIGINT COMMENT '累积支付次数', `payment_amount` DECIMAL(16,2) COMMENT '累积支付金额', `refund_order_last_1d_count` BIGINT COMMENT '最近1天退单次数', `refund_order_last_1d_amount` DECIMAL(16,2) COMMENT '最近1天退单金额', `refund_order_last_7d_count` BIGINT COMMENT '最近7天退单次数', `refund_order_last_7d_amount` DECIMAL(16,2) COMMENT '最近7天退单金额', `refund_order_last_30d_count` BIGINT COMMENT '最近30天退单次数', `refund_order_last_30d_amount` DECIMAL(16,2) COMMENT '最近30天退单金额', `refund_order_count` BIGINT COMMENT '累积退单次数', `refund_order_amount` DECIMAL(16,2) COMMENT '累积退单金额', `refund_payment_last_1d_count` BIGINT COMMENT '最近1天退款次数', `refund_payment_last_1d_amount` DECIMAL(16,2) COMMENT '最近1天退款金额', `refund_payment_last_7d_count` BIGINT COMMENT '最近7天退款次数', `refund_payment_last_7d_amount` DECIMAL(16,2) COMMENT '最近7天退款金额', `refund_payment_last_30d_count` BIGINT COMMENT '最近30天退款次数', `refund_payment_last_30d_amount` DECIMAL(16,2) COMMENT '最近30天退款金额', `refund_payment_count` BIGINT COMMENT '累积退款次数', `refund_payment_amount` DECIMAL(16,2) COMMENT '累积退款金额' ) COMMENT '地区主题宽表' PARTITIONED BY (`dt` STRING) STORED AS PARQUET LOCATION '/warehouse/gmall/dwt/dwt_area_topic/' TBLPROPERTIES ("parquet.compression"="lzo");

2)首日装载

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
insert overwrite table dwt_area_topic partition(dt='2022-04-11') select id, nvl(visit_last_1d_count,0), nvl(login_last_1d_count,0), nvl(visit_last_7d_count,0), nvl(login_last_7d_count,0), nvl(visit_last_30d_count,0), nvl(login_last_30d_count,0), nvl(visit_count,0), nvl(login_count,0), nvl(order_last_1d_count,0), nvl(order_last_1d_original_amount,0), nvl(order_last_1d_final_amount,0), nvl(order_last_7d_count,0), nvl(order_last_7d_original_amount,0), nvl(order_last_7d_final_amount,0), nvl(order_last_30d_count,0), nvl(order_last_30d_original_amount,0), nvl(order_last_30d_final_amount,0), nvl(order_count,0), nvl(order_original_amount,0), nvl(order_final_amount,0), nvl(payment_last_1d_count,0), nvl(payment_last_1d_amount,0), nvl(payment_last_7d_count,0), nvl(payment_last_7d_amount,0), nvl(payment_last_30d_count,0), nvl(payment_last_30d_amount,0), nvl(payment_count,0), nvl(payment_amount,0), nvl(refund_order_last_1d_count,0), nvl(refund_order_last_1d_amount,0), nvl(refund_order_last_7d_count,0), nvl(refund_order_last_7d_amount,0), nvl(refund_order_last_30d_count,0), nvl(refund_order_last_30d_amount,0), nvl(refund_order_count,0), nvl(refund_order_amount,0), nvl(refund_payment_last_1d_count,0), nvl(refund_payment_last_1d_amount,0), nvl(refund_payment_last_7d_count,0), nvl(refund_payment_last_7d_amount,0), nvl(refund_payment_last_30d_count,0), nvl(refund_payment_last_30d_amount,0), nvl(refund_payment_count,0), nvl(refund_payment_amount,0) from ( select id from dim_base_province )t1 left join ( select province_id province_id, sum(if(dt='2022-04-11',visit_count,0)) visit_last_1d_count, sum(if(dt='2022-04-11',login_count,0)) login_last_1d_count, sum(if(dt>=date_add('2022-04-11',-6),visit_count,0)) visit_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),login_count,0)) login_last_7d_count, sum(if(dt>=date_add('2022-04-11',-29),visit_count,0)) visit_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),login_count,0)) login_last_30d_count, sum(visit_count) visit_count, sum(login_count) login_count, sum(if(dt='2022-04-11',order_count,0)) order_last_1d_count, sum(if(dt='2022-04-11',order_original_amount,0)) order_last_1d_original_amount, sum(if(dt='2022-04-11',order_final_amount,0)) order_last_1d_final_amount, sum(if(dt>=date_add('2022-04-11',-6),order_count,0)) order_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),order_original_amount,0)) order_last_7d_original_amount, sum(if(dt>=date_add('2022-04-11',-6),order_final_amount,0)) order_last_7d_final_amount, sum(if(dt>=date_add('2022-04-11',-29),order_count,0)) order_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),order_original_amount,0)) order_last_30d_original_amount, sum(if(dt>=date_add('2022-04-11',-29),order_final_amount,0)) order_last_30d_final_amount, sum(order_count) order_count, sum(order_original_amount) order_original_amount, sum(order_final_amount) order_final_amount, sum(if(dt='2022-04-11',payment_count,0)) payment_last_1d_count, sum(if(dt='2022-04-11',payment_amount,0)) payment_last_1d_amount, sum(if(dt>=date_add('2022-04-11',-6),payment_count,0)) payment_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),payment_amount,0)) payment_last_7d_amount, sum(if(dt>=date_add('2022-04-11',-29),payment_count,0)) payment_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),payment_amount,0)) payment_last_30d_amount, sum(payment_count) payment_count, sum(payment_amount) payment_amount, sum(if(dt='2022-04-11',refund_order_count,0)) refund_order_last_1d_count, sum(if(dt='2022-04-11',refund_order_amount,0)) refund_order_last_1d_amount, sum(if(dt>=date_add('2022-04-11',-6),refund_order_count,0)) refund_order_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),refund_order_amount,0)) refund_order_last_7d_amount, sum(if(dt>=date_add('2022-04-11',-29),refund_order_count,0)) refund_order_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),refund_order_amount,0)) refund_order_last_30d_amount, sum(refund_order_count) refund_order_count, sum(refund_order_amount) refund_order_amount, sum(if(dt='2022-04-11',refund_payment_count,0)) refund_payment_last_1d_count, sum(if(dt='2022-04-11',refund_payment_amount,0)) refund_payment_last_1d_amount, sum(if(dt>=date_add('2022-04-11',-6),refund_payment_count,0)) refund_payment_last_7d_count, sum(if(dt>=date_add('2022-04-11',-6),refund_payment_amount,0)) refund_payment_last_7d_amount, sum(if(dt>=date_add('2022-04-11',-29),refund_payment_count,0)) refund_payment_last_30d_count, sum(if(dt>=date_add('2022-04-11',-29),refund_payment_amount,0)) refund_payment_last_30d_amount, sum(refund_payment_count) refund_payment_count, sum(refund_payment_amount) refund_payment_amount from dws_area_stats_daycount group by province_id )t2 on t1.id=t2.province_id;

3)每日装载

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
insert overwrite table dwt_area_topic partition(dt='2022-04-12') select nvl(old.province_id, 1d_ago.province_id), nvl(1d_ago.visit_count,0), nvl(1d_ago.login_count,0), nvl(old.visit_last_7d_count,0)+nvl(1d_ago.visit_count,0)- nvl(7d_ago.visit_count,0), nvl(old.login_last_7d_count,0)+nvl(1d_ago.login_count,0)- nvl(7d_ago.login_count,0), nvl(old.visit_last_30d_count,0)+nvl(1d_ago.visit_count,0)- nvl(30d_ago.visit_count,0), nvl(old.login_last_30d_count,0)+nvl(1d_ago.login_count,0)- nvl(30d_ago.login_count,0), nvl(old.visit_count,0)+nvl(1d_ago.visit_count,0), nvl(old.login_count,0)+nvl(1d_ago.login_count,0), nvl(1d_ago.order_count,0), nvl(1d_ago.order_original_amount,0.0), nvl(1d_ago.order_final_amount,0.0), nvl(old.order_last_7d_count,0)+nvl(1d_ago.order_count,0)- nvl(7d_ago.order_count,0), nvl(old.order_last_7d_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0)- nvl(7d_ago.order_original_amount,0.0), nvl(old.order_last_7d_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0)- nvl(7d_ago.order_final_amount,0.0), nvl(old.order_last_30d_count,0)+nvl(1d_ago.order_count,0)- nvl(30d_ago.order_count,0), nvl(old.order_last_30d_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0)- nvl(30d_ago.order_original_amount,0.0), nvl(old.order_last_30d_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0)- nvl(30d_ago.order_final_amount,0.0), nvl(old.order_count,0)+nvl(1d_ago.order_count,0), nvl(old.order_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0), nvl(old.order_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0), nvl(1d_ago.payment_count,0), nvl(1d_ago.payment_amount,0.0), nvl(old.payment_last_7d_count,0)+nvl(1d_ago.payment_count,0)- nvl(7d_ago.payment_count,0), nvl(old.payment_last_7d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)- nvl(7d_ago.payment_amount,0.0), nvl(old.payment_last_30d_count,0)+nvl(1d_ago.payment_count,0)- nvl(30d_ago.payment_count,0), nvl(old.payment_last_30d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)- nvl(30d_ago.payment_amount,0.0), nvl(old.payment_count,0)+nvl(1d_ago.payment_count,0), nvl(old.payment_amount,0.0)+nvl(1d_ago.payment_amount,0.0), nvl(1d_ago.refund_order_count,0), nvl(1d_ago.refund_order_amount,0.0), nvl(old.refund_order_last_7d_count,0)+nvl(1d_ago.refund_order_count,0)- nvl(7d_ago.refund_order_count,0), nvl(old.refund_order_last_7d_amount,0.0)+nvl(1d_ago.refund_order_amount,0.0)- nvl(7d_ago.refund_order_amount,0.0), nvl(old.refund_order_last_30d_count,0)+nvl(1d_ago.refund_order_count,0)- nvl(30d_ago.refund_order_count,0), nvl(old.refund_order_last_30d_amount,0.0)+nvl(1d_ago.refund_order_amount,0.0)- nvl(30d_ago.refund_order_amount,0.0), nvl(old.refund_order_count,0)+nvl(1d_ago.refund_order_count,0), nvl(old.refund_order_amount,0.0)+nvl(1d_ago.refund_order_amount,0.0), nvl(1d_ago.refund_payment_count,0), nvl(1d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_last_7d_count,0)+nvl(1d_ago.refund_payment_count,0)- nvl(7d_ago.refund_payment_count,0), nvl(old.refund_payment_last_7d_amount,0.0)+nvl(1d_ago.refund_payment_amount,0.0)- nvl(7d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_last_30d_count,0)+nvl(1d_ago.refund_payment_count,0)- nvl(30d_ago.refund_payment_count,0), nvl(old.refund_payment_last_30d_amount,0.0)+nvl(1d_ago.refund_payment_amount,0.0)- nvl(30d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_count,0)+nvl(1d_ago.refund_payment_count,0), nvl(old.refund_payment_amount,0.0)+nvl(1d_ago.refund_payment_amount,0.0) from ( select province_id, visit_last_1d_count, login_last_1d_count, visit_last_7d_count, login_last_7d_count, visit_last_30d_count, login_last_30d_count, visit_count, login_count, order_last_1d_count, order_last_1d_original_amount, order_last_1d_final_amount, order_last_7d_count, order_last_7d_original_amount, order_last_7d_final_amount, order_last_30d_count, order_last_30d_original_amount, order_last_30d_final_amount, order_count, order_original_amount, order_final_amount, payment_last_1d_count, payment_last_1d_amount, payment_last_7d_count, payment_last_7d_amount, payment_last_30d_count, payment_last_30d_amount, payment_count, payment_amount, refund_order_last_1d_count, refund_order_last_1d_amount, refund_order_last_7d_count, refund_order_last_7d_amount, refund_order_last_30d_count, refund_order_last_30d_amount, refund_order_count, refund_order_amount, refund_payment_last_1d_count, refund_payment_last_1d_amount, refund_payment_last_7d_count, refund_payment_last_7d_amount, refund_payment_last_30d_count, refund_payment_last_30d_amount, refund_payment_count, refund_payment_amount from dwt_area_topic where dt=date_add('2022-04-12',-1) )old full outer join ( select province_id, visit_count, login_count, order_count, order_original_amount, order_final_amount, payment_count, payment_amount, refund_order_count, refund_order_amount, refund_payment_count, refund_payment_amount from dws_area_stats_daycount where dt='2022-04-12' )1d_ago on old.province_id=1d_ago.province_id left join ( select province_id, visit_count, login_count, order_count, order_original_amount, order_final_amount, payment_count, payment_amount, refund_order_count, refund_order_amount, refund_payment_count, refund_payment_amount from dws_area_stats_daycount where dt=date_add('2022-04-12',-7) )7d_ago on old.province_id= 7d_ago.province_id left join ( select province_id, visit_count, login_count, order_count, order_original_amount, order_final_amount, payment_count, payment_amount, refund_order_count, refund_order_amount, refund_payment_count, refund_payment_amount from dws_area_stats_daycount where dt=date_add('2022-04-12',-30) )30d_ago on old.province_id= 30d_ago.province_id;

8、DWT层首日数据导入脚本

(1)在/root/bin目录下创建脚本dws_to_dwt_init.sh

复制代码
1
2
vim dws_to_dwt_init.sh

在脚本中填写如下内容

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
#!/bin/bash APP=gmall if [ -n "$2" ] ;then do_date=$2 else echo "请传入日期参数" exit fi dwt_visitor_topic=" insert overwrite table ${APP}.dwt_visitor_topic partition(dt='$do_date') select nvl(1d_ago.mid_id,old.mid_id), nvl(1d_ago.brand,old.brand), nvl(1d_ago.model,old.model), nvl(1d_ago.channel,old.channel), nvl(1d_ago.os,old.os), nvl(1d_ago.area_code,old.area_code), nvl(1d_ago.version_code,old.version_code), case when old.mid_id is null and 1d_ago.is_new=1 then '$do_date' when old.mid_id is null and 1d_ago.is_new=0 then '2020-06-13'--无法获取准确的首次登录日期,给定一个数仓搭建日之前的日期 else old.visit_date_first end, if(1d_ago.mid_id is not null,'$do_date',old.visit_date_last), nvl(1d_ago.visit_count,0), if(1d_ago.mid_id is null,0,1), nvl(old.visit_last_7d_count,0)+nvl(1d_ago.visit_count,0)- nvl(7d_ago.visit_count,0), nvl(old.visit_last_7d_day_count,0)+if(1d_ago.mid_id is null,0,1)- if(7d_ago.mid_id is null,0,1), nvl(old.visit_last_30d_count,0)+nvl(1d_ago.visit_count,0)- nvl(30d_ago.visit_count,0), nvl(old.visit_last_30d_day_count,0)+if(1d_ago.mid_id is null,0,1)- if(30d_ago.mid_id is null,0,1), nvl(old.visit_count,0)+nvl(1d_ago.visit_count,0), nvl(old.visit_day_count,0)+if(1d_ago.mid_id is null,0,1) from ( select mid_id, brand, model, channel, os, area_code, version_code, visit_date_first, visit_date_last, visit_last_1d_count, visit_last_1d_day_count, visit_last_7d_count, visit_last_7d_day_count, visit_last_30d_count, visit_last_30d_day_count, visit_count, visit_day_count from ${APP}.dwt_visitor_topic where dt=date_add('$do_date',-1) )old full outer join ( select mid_id, brand, model, is_new, channel, os, area_code, version_code, visit_count from ${APP}.dws_visitor_action_daycount where dt='$do_date' )1d_ago on old.mid_id=1d_ago.mid_id left join ( select mid_id, brand, model, is_new, channel, os, area_code, version_code, visit_count from ${APP}.dws_visitor_action_daycount where dt=date_add('$do_date',-7) )7d_ago on old.mid_id=7d_ago.mid_id left join ( select mid_id, brand, model, is_new, channel, os, area_code, version_code, visit_count from ${APP}.dws_visitor_action_daycount where dt=date_add('$do_date',-30) )30d_ago on old.mid_id=30d_ago.mid_id; " dwt_user_topic=" insert overwrite table ${APP}.dwt_user_topic partition(dt='$do_date') select id, login_date_first,--以用户的创建日期作为首次登录日期 nvl(login_date_last,date_add('$do_date',-1)),--若有历史登录记录,则根据历史记录获取末次登录日期,否则统一指定一个日期 nvl(login_last_1d_count,0), nvl(login_last_1d_day_count,0), nvl(login_last_7d_count,0), nvl(login_last_7d_day_count,0), nvl(login_last_30d_count,0), nvl(login_last_30d_day_count,0), nvl(login_count,0), nvl(login_day_count,0), order_date_first, order_date_last, nvl(order_last_1d_count,0), nvl(order_activity_last_1d_count,0), nvl(order_activity_reduce_last_1d_amount,0), nvl(order_coupon_last_1d_count,0), nvl(order_coupon_reduce_last_1d_amount,0), nvl(order_last_1d_original_amount,0), nvl(order_last_1d_final_amount,0), nvl(order_last_7d_count,0), nvl(order_activity_last_7d_count,0), nvl(order_activity_reduce_last_7d_amount,0), nvl(order_coupon_last_7d_count,0), nvl(order_coupon_reduce_last_7d_amount,0), nvl(order_last_7d_original_amount,0), nvl(order_last_7d_final_amount,0), nvl(order_last_30d_count,0), nvl(order_activity_last_30d_count,0), nvl(order_activity_reduce_last_30d_amount,0), nvl(order_coupon_last_30d_count,0), nvl(order_coupon_reduce_last_30d_amount,0), nvl(order_last_30d_original_amount,0), nvl(order_last_30d_final_amount,0), nvl(order_count,0), nvl(order_activity_count,0), nvl(order_activity_reduce_amount,0), nvl(order_coupon_count,0), nvl(order_coupon_reduce_amount,0), nvl(order_original_amount,0), nvl(order_final_amount,0), payment_date_first, payment_date_last, nvl(payment_last_1d_count,0), nvl(payment_last_1d_amount,0), nvl(payment_last_7d_count,0), nvl(payment_last_7d_amount,0), nvl(payment_last_30d_count,0), nvl(payment_last_30d_amount,0), nvl(payment_count,0), nvl(payment_amount,0), nvl(refund_order_last_1d_count,0), nvl(refund_order_last_1d_num,0), nvl(refund_order_last_1d_amount,0), nvl(refund_order_last_7d_count,0), nvl(refund_order_last_7d_num,0), nvl(refund_order_last_7d_amount,0), nvl(refund_order_last_30d_count,0), nvl(refund_order_last_30d_num,0), nvl(refund_order_last_30d_amount,0), nvl(refund_order_count,0), nvl(refund_order_num,0), nvl(refund_order_amount,0), nvl(refund_payment_last_1d_count,0), nvl(refund_payment_last_1d_num,0), nvl(refund_payment_last_1d_amount,0), nvl(refund_payment_last_7d_count,0), nvl(refund_payment_last_7d_num,0), nvl(refund_payment_last_7d_amount,0), nvl(refund_payment_last_30d_count,0), nvl(refund_payment_last_30d_num,0), nvl(refund_payment_last_30d_amount,0), nvl(refund_payment_count,0), nvl(refund_payment_num,0), nvl(refund_payment_amount,0), nvl(cart_last_1d_count,0), nvl(cart_last_7d_count,0), nvl(cart_last_30d_count,0), nvl(cart_count,0), nvl(favor_last_1d_count,0), nvl(favor_last_7d_count,0), nvl(favor_last_30d_count,0), nvl(favor_count,0), nvl(coupon_last_1d_get_count,0), nvl(coupon_last_1d_using_count,0), nvl(coupon_last_1d_used_count,0), nvl(coupon_last_7d_get_count,0), nvl(coupon_last_7d_using_count,0), nvl(coupon_last_7d_used_count,0), nvl(coupon_last_30d_get_count,0), nvl(coupon_last_30d_using_count,0), nvl(coupon_last_30d_used_count,0), nvl(coupon_get_count,0), nvl(coupon_using_count,0), nvl(coupon_used_count,0), nvl(appraise_last_1d_good_count,0), nvl(appraise_last_1d_mid_count,0), nvl(appraise_last_1d_bad_count,0), nvl(appraise_last_1d_default_count,0), nvl(appraise_last_7d_good_count,0), nvl(appraise_last_7d_mid_count,0), nvl(appraise_last_7d_bad_count,0), nvl(appraise_last_7d_default_count,0), nvl(appraise_last_30d_good_count,0), nvl(appraise_last_30d_mid_count,0), nvl(appraise_last_30d_bad_count,0), nvl(appraise_last_30d_default_count,0), nvl(appraise_good_count,0), nvl(appraise_mid_count,0), nvl(appraise_bad_count,0), nvl(appraise_default_count,0) from ( select id, date_format(create_time,'yyyy-MM-dd') login_date_first from ${APP}.dim_user_info where dt='9999-99-99' )t1 left join ( select user_id user_id, max(dt) login_date_last, sum(if(dt='$do_date',login_count,0)) login_last_1d_count, sum(if(dt='$do_date' and login_count>0,1,0)) login_last_1d_day_count, sum(if(dt>=date_add('$do_date',-6),login_count,0)) login_last_7d_count, sum(if(dt>=date_add('$do_date',-6) and login_count>0,1,0)) login_last_7d_day_count, sum(if(dt>=date_add('$do_date',-29),login_count,0)) login_last_30d_count, sum(if(dt>=date_add('$do_date',-29) and login_count>0,1,0)) login_last_30d_day_count, sum(login_count) login_count, sum(if(login_count>0,1,0)) login_day_count, min(if(order_count>0,dt,null)) order_date_first, max(if(order_count>0,dt,null)) order_date_last, sum(if(dt='$do_date',order_count,0)) order_last_1d_count, sum(if(dt='$do_date',order_activity_count,0)) order_activity_last_1d_count, sum(if(dt='$do_date',order_activity_reduce_amount,0)) order_activity_reduce_last_1d_amount, sum(if(dt='$do_date',order_coupon_count,0)) order_coupon_last_1d_count, sum(if(dt='$do_date',order_coupon_reduce_amount,0)) order_coupon_reduce_last_1d_amount, sum(if(dt='$do_date',order_original_amount,0)) order_last_1d_original_amount, sum(if(dt='$do_date',order_final_amount,0)) order_last_1d_final_amount, sum(if(dt>=date_add('$do_date',-6),order_count,0)) order_last_7d_count, sum(if(dt>=date_add('$do_date',-6),order_activity_count,0)) order_activity_last_7d_count, sum(if(dt>=date_add('$do_date',-6),order_activity_reduce_amount,0)) order_activity_reduce_last_7d_amount, sum(if(dt>=date_add('$do_date',-6),order_coupon_count,0)) order_coupon_last_7d_count, sum(if(dt>=date_add('$do_date',-6),order_coupon_reduce_amount,0)) order_coupon_reduce_last_7d_amount, sum(if(dt>=date_add('$do_date',-6),order_original_amount,0)) order_last_7d_original_amount, sum(if(dt>=date_add('$do_date',-6),order_final_amount,0)) order_last_7d_final_amount, sum(if(dt>=date_add('$do_date',-29),order_count,0)) order_last_30d_count, sum(if(dt>=date_add('$do_date',-29),order_activity_count,0)) order_activity_last_30d_count, sum(if(dt>=date_add('$do_date',-29),order_activity_reduce_amount,0)) order_activity_reduce_last_30d_amount, sum(if(dt>=date_add('$do_date',-29),order_coupon_count,0)) order_coupon_last_30d_count, sum(if(dt>=date_add('$do_date',-29),order_coupon_reduce_amount,0)) order_coupon_reduce_last_30d_amount, sum(if(dt>=date_add('$do_date',-29),order_original_amount,0)) order_last_30d_original_amount, sum(if(dt>=date_add('$do_date',-29),order_final_amount,0)) order_last_30d_final_amount, sum(order_count) order_count, sum(order_activity_count) order_activity_count, sum(order_activity_reduce_amount) order_activity_reduce_amount, sum(order_coupon_count) order_coupon_count, sum(order_coupon_reduce_amount) order_coupon_reduce_amount, sum(order_original_amount) order_original_amount, sum(order_final_amount) order_final_amount, min(if(payment_count>0,dt,null)) payment_date_first, max(if(payment_count>0,dt,null)) payment_date_last, sum(if(dt='$do_date',payment_count,0)) payment_last_1d_count, sum(if(dt='$do_date',payment_amount,0)) payment_last_1d_amount, sum(if(dt>=date_add('$do_date',-6),payment_count,0)) payment_last_7d_count, sum(if(dt>=date_add('$do_date',-6),payment_amount,0)) payment_last_7d_amount, sum(if(dt>=date_add('$do_date',-29),payment_count,0)) payment_last_30d_count, sum(if(dt>=date_add('$do_date',-29),payment_amount,0)) payment_last_30d_amount, sum(payment_count) payment_count, sum(payment_amount) payment_amount, sum(if(dt='$do_date',refund_order_count,0)) refund_order_last_1d_count, sum(if(dt='$do_date',refund_order_num,0)) refund_order_last_1d_num, sum(if(dt='$do_date',refund_order_amount,0)) refund_order_last_1d_amount, sum(if(dt>=date_add('$do_date',-6),refund_order_count,0)) refund_order_last_7d_count, sum(if(dt>=date_add('$do_date',-6),refund_order_num,0)) refund_order_last_7d_num, sum(if(dt>=date_add('$do_date',-6),refund_order_amount,0)) refund_order_last_7d_amount, sum(if(dt>=date_add('$do_date',-29),refund_order_count,0)) refund_order_last_30d_count, sum(if(dt>=date_add('$do_date',-29),refund_order_num,0)) refund_order_last_30d_num, sum(if(dt>=date_add('$do_date',-29),refund_order_amount,0)) refund_order_last_30d_amount, sum(refund_order_count) refund_order_count, sum(refund_order_num) refund_order_num, sum(refund_order_amount) refund_order_amount, sum(if(dt='$do_date',refund_payment_count,0)) refund_payment_last_1d_count, sum(if(dt='$do_date',refund_payment_num,0)) refund_payment_last_1d_num, sum(if(dt='$do_date',refund_payment_amount,0)) refund_payment_last_1d_amount, sum(if(dt>=date_add('$do_date',-6),refund_payment_count,0)) refund_payment_last_7d_count, sum(if(dt>=date_add('$do_date',-6),refund_payment_num,0)) refund_payment_last_7d_num, sum(if(dt>=date_add('$do_date',-6),refund_payment_amount,0)) refund_payment_last_7d_amount, sum(if(dt>=date_add('$do_date',-29),refund_payment_count,0)) refund_payment_last_30d_count, sum(if(dt>=date_add('$do_date',-29),refund_payment_num,0)) refund_payment_last_30d_num, sum(if(dt>=date_add('$do_date',-29),refund_payment_amount,0)) refund_payment_last_30d_amount, sum(refund_payment_count) refund_payment_count, sum(refund_payment_num) refund_payment_num, sum(refund_payment_amount) refund_payment_amount, sum(if(dt='$do_date',cart_count,0)) cart_last_1d_count, sum(if(dt>=date_add('$do_date',-6),cart_count,0)) cart_last_7d_count, sum(if(dt>=date_add('$do_date',-29),cart_count,0)) cart_last_30d_count, sum(cart_count) cart_count, sum(if(dt='$do_date',favor_count,0)) favor_last_1d_count, sum(if(dt>=date_add('$do_date',-6),favor_count,0)) favor_last_7d_count, sum(if(dt>=date_add('$do_date',-29),favor_count,0)) favor_last_30d_count, sum(favor_count) favor_count, sum(if(dt='$do_date',coupon_get_count,0)) coupon_last_1d_get_count, sum(if(dt='$do_date',coupon_using_count,0)) coupon_last_1d_using_count, sum(if(dt='$do_date',coupon_used_count,0)) coupon_last_1d_used_count, sum(if(dt>=date_add('$do_date',-6),coupon_get_count,0)) coupon_last_7d_get_count, sum(if(dt>=date_add('$do_date',-6),coupon_using_count,0)) coupon_last_7d_using_count, sum(if(dt>=date_add('$do_date',-6),coupon_used_count,0)) coupon_last_7d_used_count, sum(if(dt>=date_add('$do_date',-29),coupon_get_count,0)) coupon_last_30d_get_count, sum(if(dt>=date_add('$do_date',-29),coupon_using_count,0)) coupon_last_30d_using_count, sum(if(dt>=date_add('$do_date',-29),coupon_used_count,0)) coupon_last_30d_used_count, sum(coupon_get_count) coupon_get_count, sum(coupon_using_count) coupon_using_count, sum(coupon_used_count) coupon_used_count, sum(if(dt='$do_date',appraise_good_count,0)) appraise_last_1d_good_count, sum(if(dt='$do_date',appraise_mid_count,0)) appraise_last_1d_mid_count, sum(if(dt='$do_date',appraise_bad_count,0)) appraise_last_1d_bad_count, sum(if(dt='$do_date',appraise_default_count,0)) appraise_last_1d_default_count, sum(if(dt>=date_add('$do_date',-6),appraise_good_count,0)) appraise_last_7d_good_count, sum(if(dt>=date_add('$do_date',-6),appraise_mid_count,0)) appraise_last_7d_mid_count, sum(if(dt>=date_add('$do_date',-6),appraise_bad_count,0)) appraise_last_7d_bad_count, sum(if(dt>=date_add('$do_date',-6),appraise_default_count,0)) appraise_last_7d_default_count, sum(if(dt>=date_add('$do_date',-29),appraise_good_count,0)) appraise_last_30d_good_count, sum(if(dt>=date_add('$do_date',-29),appraise_mid_count,0)) appraise_last_30d_mid_count, sum(if(dt>=date_add('$do_date',-29),appraise_bad_count,0)) appraise_last_30d_bad_count, sum(if(dt>=date_add('$do_date',-29),appraise_default_count,0)) appraise_last_30d_default_count, sum(appraise_good_count) appraise_good_count, sum(appraise_mid_count) appraise_mid_count, sum(appraise_bad_count) appraise_bad_count, sum(appraise_default_count) appraise_default_count from ${APP}.dws_user_action_daycount group by user_id )t2 on t1.id=t2.user_id; " dwt_sku_topic=" insert overwrite table ${APP}.dwt_sku_topic partition(dt='$do_date') select id, nvl(order_last_1d_count,0), nvl(order_last_1d_num,0), nvl(order_activity_last_1d_count,0), nvl(order_coupon_last_1d_count,0), nvl(order_activity_reduce_last_1d_amount,0), nvl(order_coupon_reduce_last_1d_amount,0), nvl(order_last_1d_original_amount,0), nvl(order_last_1d_final_amount,0), nvl(order_last_7d_count,0), nvl(order_last_7d_num,0), nvl(order_activity_last_7d_count,0), nvl(order_coupon_last_7d_count,0), nvl(order_activity_reduce_last_7d_amount,0), nvl(order_coupon_reduce_last_7d_amount,0), nvl(order_last_7d_original_amount,0), nvl(order_last_7d_final_amount,0), nvl(order_last_30d_count,0), nvl(order_last_30d_num,0), nvl(order_activity_last_30d_count,0), nvl(order_coupon_last_30d_count,0), nvl(order_activity_reduce_last_30d_amount,0), nvl(order_coupon_reduce_last_30d_amount,0), nvl(order_last_30d_original_amount,0), nvl(order_last_30d_final_amount,0), nvl(order_count,0), nvl(order_num,0), nvl(order_activity_count,0), nvl(order_coupon_count,0), nvl(order_activity_reduce_amount,0), nvl(order_coupon_reduce_amount,0), nvl(order_original_amount,0), nvl(order_final_amount,0), nvl(payment_last_1d_count,0), nvl(payment_last_1d_num,0), nvl(payment_last_1d_amount,0), nvl(payment_last_7d_count,0), nvl(payment_last_7d_num,0), nvl(payment_last_7d_amount,0), nvl(payment_last_30d_count,0), nvl(payment_last_30d_num,0), nvl(payment_last_30d_amount,0), nvl(payment_count,0), nvl(payment_num,0), nvl(payment_amount,0), nvl(refund_order_last_1d_count,0), nvl(refund_order_last_1d_num,0), nvl(refund_order_last_1d_amount,0), nvl(refund_order_last_7d_count,0), nvl(refund_order_last_7d_num,0), nvl(refund_order_last_7d_amount,0), nvl(refund_order_last_30d_count,0), nvl(refund_order_last_30d_num,0), nvl(refund_order_last_30d_amount,0), nvl(refund_order_count,0), nvl(refund_order_num,0), nvl(refund_order_amount,0), nvl(refund_payment_last_1d_count,0), nvl(refund_payment_last_1d_num,0), nvl(refund_payment_last_1d_amount,0), nvl(refund_payment_last_7d_count,0), nvl(refund_payment_last_7d_num,0), nvl(refund_payment_last_7d_amount,0), nvl(refund_payment_last_30d_count,0), nvl(refund_payment_last_30d_num,0), nvl(refund_payment_last_30d_amount,0), nvl(refund_payment_count,0), nvl(refund_payment_num,0), nvl(refund_payment_amount,0), nvl(cart_last_1d_count,0), nvl(cart_last_7d_count,0), nvl(cart_last_30d_count,0), nvl(cart_count,0), nvl(favor_last_1d_count,0), nvl(favor_last_7d_count,0), nvl(favor_last_30d_count,0), nvl(favor_count,0), nvl(appraise_last_1d_good_count,0), nvl(appraise_last_1d_mid_count,0), nvl(appraise_last_1d_bad_count,0), nvl(appraise_last_1d_default_count,0), nvl(appraise_last_7d_good_count,0), nvl(appraise_last_7d_mid_count,0), nvl(appraise_last_7d_bad_count,0), nvl(appraise_last_7d_default_count,0), nvl(appraise_last_30d_good_count,0), nvl(appraise_last_30d_mid_count,0), nvl(appraise_last_30d_bad_count,0), nvl(appraise_last_30d_default_count,0), nvl(appraise_good_count,0), nvl(appraise_mid_count,0), nvl(appraise_bad_count,0), nvl(appraise_default_count,0) from ( select id from ${APP}.dim_sku_info where dt='$do_date' )t1 left join ( select sku_id, sum(if(dt='$do_date',order_count,0)) order_last_1d_count, sum(if(dt='$do_date',order_num,0)) order_last_1d_num, sum(if(dt='$do_date',order_activity_count,0)) order_activity_last_1d_count, sum(if(dt='$do_date',order_coupon_count,0)) order_coupon_last_1d_count, sum(if(dt='$do_date',order_activity_reduce_amount,0)) order_activity_reduce_last_1d_amount, sum(if(dt='$do_date',order_coupon_reduce_amount,0)) order_coupon_reduce_last_1d_amount, sum(if(dt='$do_date',order_original_amount,0)) order_last_1d_original_amount, sum(if(dt='$do_date',order_final_amount,0)) order_last_1d_final_amount, sum(if(dt>=date_add('$do_date',-6),order_count,0)) order_last_7d_count, sum(if(dt>=date_add('$do_date',-6),order_num,0)) order_last_7d_num, sum(if(dt>=date_add('$do_date',-6),order_activity_count,0)) order_activity_last_7d_count, sum(if(dt>=date_add('$do_date',-6),order_coupon_count,0)) order_coupon_last_7d_count, sum(if(dt>=date_add('$do_date',-6),order_activity_reduce_amount,0)) order_activity_reduce_last_7d_amount, sum(if(dt>=date_add('$do_date',-6),order_coupon_reduce_amount,0)) order_coupon_reduce_last_7d_amount, sum(if(dt>=date_add('$do_date',-6),order_original_amount,0)) order_last_7d_original_amount, sum(if(dt>=date_add('$do_date',-6),order_final_amount,0)) order_last_7d_final_amount, sum(if(dt>=date_add('$do_date',-29),order_count,0)) order_last_30d_count, sum(if(dt>=date_add('$do_date',-29),order_num,0)) order_last_30d_num, sum(if(dt>=date_add('$do_date',-29),order_activity_count,0)) order_activity_last_30d_count, sum(if(dt>=date_add('$do_date',-29),order_coupon_count,0)) order_coupon_last_30d_count, sum(if(dt>=date_add('$do_date',-29),order_activity_reduce_amount,0)) order_activity_reduce_last_30d_amount, sum(if(dt>=date_add('$do_date',-29),order_coupon_reduce_amount,0)) order_coupon_reduce_last_30d_amount, sum(if(dt>=date_add('$do_date',-29),order_original_amount,0)) order_last_30d_original_amount, sum(if(dt>=date_add('$do_date',-29),order_final_amount,0)) order_last_30d_final_amount, sum(order_count) order_count, sum(order_num) order_num, sum(order_activity_count) order_activity_count, sum(order_coupon_count) order_coupon_count, sum(order_activity_reduce_amount) order_activity_reduce_amount, sum(order_coupon_reduce_amount) order_coupon_reduce_amount, sum(order_original_amount) order_original_amount, sum(order_final_amount) order_final_amount, sum(if(dt='$do_date',payment_count,0)) payment_last_1d_count, sum(if(dt='$do_date',payment_num,0)) payment_last_1d_num, sum(if(dt='$do_date',payment_amount,0)) payment_last_1d_amount, sum(if(dt>=date_add('$do_date',-6),payment_count,0)) payment_last_7d_count, sum(if(dt>=date_add('$do_date',-6),payment_num,0)) payment_last_7d_num, sum(if(dt>=date_add('$do_date',-6),payment_amount,0)) payment_last_7d_amount, sum(if(dt>=date_add('$do_date',-29),payment_count,0)) payment_last_30d_count, sum(if(dt>=date_add('$do_date',-29),payment_num,0)) payment_last_30d_num, sum(if(dt>=date_add('$do_date',-29),payment_amount,0)) payment_last_30d_amount, sum(payment_count) payment_count, sum(payment_num) payment_num, sum(payment_amount) payment_amount, sum(if(dt='$do_date',refund_order_count,0)) refund_order_last_1d_count, sum(if(dt='$do_date',refund_order_num,0)) refund_order_last_1d_num, sum(if(dt='$do_date',refund_order_amount,0)) refund_order_last_1d_amount, sum(if(dt>=date_add('$do_date',-6),refund_order_count,0)) refund_order_last_7d_count, sum(if(dt>=date_add('$do_date',-6),refund_order_num,0)) refund_order_last_7d_num, sum(if(dt>=date_add('$do_date',-6),refund_order_amount,0)) refund_order_last_7d_amount, sum(if(dt>=date_add('$do_date',-29),refund_order_count,0)) refund_order_last_30d_count, sum(if(dt>=date_add('$do_date',-29),refund_order_num,0)) refund_order_last_30d_num, sum(if(dt>=date_add('$do_date',-29),refund_order_amount,0)) refund_order_last_30d_amount, sum(refund_order_count) refund_order_count, sum(refund_order_num) refund_order_num, sum(refund_order_amount) refund_order_amount, sum(if(dt='$do_date',refund_payment_count,0)) refund_payment_last_1d_count, sum(if(dt='$do_date',refund_payment_num,0)) refund_payment_last_1d_num, sum(if(dt='$do_date',refund_payment_amount,0)) refund_payment_last_1d_amount, sum(if(dt>=date_add('$do_date',-6),refund_payment_count,0)) refund_payment_last_7d_count, sum(if(dt>=date_add('$do_date',-6),refund_payment_num,0)) refund_payment_last_7d_num, sum(if(dt>=date_add('$do_date',-6),refund_payment_amount,0)) refund_payment_last_7d_amount, sum(if(dt>=date_add('$do_date',-29),refund_payment_count,0)) refund_payment_last_30d_count, sum(if(dt>=date_add('$do_date',-29),refund_payment_num,0)) refund_payment_last_30d_num, sum(if(dt>=date_add('$do_date',-29),refund_payment_amount,0)) refund_payment_last_30d_amount, sum(refund_payment_count) refund_payment_count, sum(refund_payment_num) refund_payment_num, sum(refund_payment_amount) refund_payment_amount, sum(if(dt='$do_date',cart_count,0)) cart_last_1d_count, sum(if(dt>=date_add('$do_date',-6),cart_count,0)) cart_last_7d_count, sum(if(dt>=date_add('$do_date',-29),cart_count,0)) cart_last_30d_count, sum(cart_count) cart_count, sum(if(dt='$do_date',favor_count,0)) favor_last_1d_count, sum(if(dt>=date_add('$do_date',-6),favor_count,0)) favor_last_7d_count, sum(if(dt>=date_add('$do_date',-29),favor_count,0)) favor_last_30d_count, sum(favor_count) favor_count, sum(if(dt='$do_date',appraise_good_count,0)) appraise_last_1d_good_count, sum(if(dt='$do_date',appraise_mid_count,0)) appraise_last_1d_mid_count, sum(if(dt='$do_date',appraise_bad_count,0)) appraise_last_1d_bad_count, sum(if(dt='$do_date',appraise_default_count,0)) appraise_last_1d_default_count, sum(if(dt>=date_add('$do_date',-6),appraise_good_count,0)) appraise_last_7d_good_count, sum(if(dt>=date_add('$do_date',-6),appraise_mid_count,0)) appraise_last_7d_mid_count, sum(if(dt>=date_add('$do_date',-6),appraise_bad_count,0)) appraise_last_7d_bad_count, sum(if(dt>=date_add('$do_date',-6),appraise_default_count,0)) appraise_last_7d_default_count, sum(if(dt>=date_add('$do_date',-29),appraise_good_count,0)) appraise_last_30d_good_count, sum(if(dt>=date_add('$do_date',-29),appraise_mid_count,0)) appraise_last_30d_mid_count, sum(if(dt>=date_add('$do_date',-29),appraise_bad_count,0)) appraise_last_30d_bad_count, sum(if(dt>=date_add('$do_date',-29),appraise_default_count,0)) appraise_last_30d_default_count, sum(appraise_good_count) appraise_good_count, sum(appraise_mid_count) appraise_mid_count, sum(appraise_bad_count) appraise_bad_count, sum(appraise_default_count) appraise_default_count from ${APP}.dws_sku_action_daycount group by sku_id )t2 on t1.id=t2.sku_id; " dwt_coupon_topic=" insert overwrite table ${APP}.dwt_coupon_topic partition(dt='$do_date') select id, nvl(get_last_1d_count,0), nvl(get_last_7d_count,0), nvl(get_last_30d_count,0), nvl(get_count,0), nvl(order_last_1d_count,0), nvl(order_last_1d_reduce_amount,0), nvl(order_last_1d_original_amount,0), nvl(order_last_1d_final_amount,0), nvl(order_last_7d_count,0), nvl(order_last_7d_reduce_amount,0), nvl(order_last_7d_original_amount,0), nvl(order_last_7d_final_amount,0), nvl(order_last_30d_count,0), nvl(order_last_30d_reduce_amount,0), nvl(order_last_30d_original_amount,0), nvl(order_last_30d_final_amount,0), nvl(order_count,0), nvl(order_reduce_amount,0), nvl(order_original_amount,0), nvl(order_final_amount,0), nvl(payment_last_1d_count,0), nvl(payment_last_1d_reduce_amount,0), nvl(payment_last_1d_amount,0), nvl(payment_last_7d_count,0), nvl(payment_last_7d_reduce_amount,0), nvl(payment_last_7d_amount,0), nvl(payment_last_30d_count,0), nvl(payment_last_30d_reduce_amount,0), nvl(payment_last_30d_amount,0), nvl(payment_count,0), nvl(payment_reduce_amount,0), nvl(payment_amount,0), nvl(expire_last_1d_count,0), nvl(expire_last_7d_count,0), nvl(expire_last_30d_count,0), nvl(expire_count,0) from ( select id from ${APP}.dim_coupon_info where dt='$do_date' )t1 left join ( select coupon_id coupon_id, sum(if(dt='$do_date',get_count,0)) get_last_1d_count, sum(if(dt>=date_add('$do_date',-6),get_count,0)) get_last_7d_count, sum(if(dt>=date_add('$do_date',-29),get_count,0)) get_last_30d_count, sum(get_count) get_count, sum(if(dt='$do_date',order_count,0)) order_last_1d_count, sum(if(dt='$do_date',order_reduce_amount,0)) order_last_1d_reduce_amount, sum(if(dt='$do_date',order_original_amount,0)) order_last_1d_original_amount, sum(if(dt='$do_date',order_final_amount,0)) order_last_1d_final_amount, sum(if(dt>=date_add('$do_date',-6),order_count,0)) order_last_7d_count, sum(if(dt>=date_add('$do_date',-6),order_reduce_amount,0)) order_last_7d_reduce_amount, sum(if(dt>=date_add('$do_date',-6),order_original_amount,0)) order_last_7d_original_amount, sum(if(dt>=date_add('$do_date',-6),order_final_amount,0)) order_last_7d_final_amount, sum(if(dt>=date_add('$do_date',-29),order_count,0)) order_last_30d_count, sum(if(dt>=date_add('$do_date',-29),order_reduce_amount,0)) order_last_30d_reduce_amount, sum(if(dt>=date_add('$do_date',-29),order_original_amount,0)) order_last_30d_original_amount, sum(if(dt>=date_add('$do_date',-29),order_final_amount,0)) order_last_30d_final_amount, sum(order_count) order_count, sum(order_reduce_amount) order_reduce_amount, sum(order_original_amount) order_original_amount, sum(order_final_amount) order_final_amount, sum(if(dt='$do_date',payment_count,0)) payment_last_1d_count, sum(if(dt='$do_date',payment_reduce_amount,0)) payment_last_1d_reduce_amount, sum(if(dt='$do_date',payment_amount,0)) payment_last_1d_amount, sum(if(dt>=date_add('$do_date',-6),payment_count,0)) payment_last_7d_count, sum(if(dt>=date_add('$do_date',-6),payment_reduce_amount,0)) payment_last_7d_reduce_amount, sum(if(dt>=date_add('$do_date',-6),payment_amount,0)) payment_last_7d_amount, sum(if(dt>=date_add('$do_date',-29),payment_count,0)) payment_last_30d_count, sum(if(dt>=date_add('$do_date',-29),payment_reduce_amount,0)) payment_last_30d_reduce_amount, sum(if(dt>=date_add('$do_date',-29),payment_amount,0)) payment_last_30d_amount, sum(payment_count) payment_count, sum(payment_reduce_amount) payment_reduce_amount, sum(payment_amount) payment_amount, sum(if(dt='$do_date',expire_count,0)) expire_last_1d_count, sum(if(dt>=date_add('$do_date',-6),expire_count,0)) expire_last_7d_count, sum(if(dt>=date_add('$do_date',-29),expire_count,0)) expire_last_30d_count, sum(expire_count) expire_count from ${APP}.dws_coupon_info_daycount group by coupon_id )t2 on t1.id=t2.coupon_id; " dwt_activity_topic=" insert overwrite table ${APP}.dwt_activity_topic partition(dt='$do_date') select t1.activity_rule_id, t1.activity_id, nvl(order_last_1d_count,0), nvl(order_last_1d_reduce_amount,0), nvl(order_last_1d_original_amount,0), nvl(order_last_1d_final_amount,0), nvl(order_count,0), nvl(order_reduce_amount,0), nvl(order_original_amount,0), nvl(order_final_amount,0), nvl(payment_last_1d_count,0), nvl(payment_last_1d_reduce_amount,0), nvl(payment_last_1d_amount,0), nvl(payment_count,0), nvl(payment_reduce_amount,0), nvl(payment_amount,0) from ( select activity_rule_id, activity_id from ${APP}.dim_activity_rule_info where dt='$do_date' )t1 left join ( select activity_rule_id, activity_id, sum(if(dt='$do_date',order_count,0)) order_last_1d_count, sum(if(dt='$do_date',order_reduce_amount,0)) order_last_1d_reduce_amount, sum(if(dt='$do_date',order_original_amount,0)) order_last_1d_original_amount, sum(if(dt='$do_date',order_final_amount,0)) order_last_1d_final_amount, sum(order_count) order_count, sum(order_reduce_amount) order_reduce_amount, sum(order_original_amount) order_original_amount, sum(order_final_amount) order_final_amount, sum(if(dt='$do_date',payment_count,0)) payment_last_1d_count, sum(if(dt='$do_date',payment_reduce_amount,0)) payment_last_1d_reduce_amount, sum(if(dt='$do_date',payment_amount,0)) payment_last_1d_amount, sum(payment_count) payment_count, sum(payment_reduce_amount) payment_reduce_amount, sum(payment_amount) payment_amount from ${APP}.dws_activity_info_daycount group by activity_rule_id,activity_id )t2 on t1.activity_rule_id=t2.activity_rule_id and t1.activity_id=t2.activity_id; " dwt_area_topic=" insert overwrite table ${APP}.dwt_area_topic partition(dt='$do_date') select id, nvl(visit_last_1d_count,0), nvl(login_last_1d_count,0), nvl(visit_last_7d_count,0), nvl(login_last_7d_count,0), nvl(visit_last_30d_count,0), nvl(login_last_30d_count,0), nvl(visit_count,0), nvl(login_count,0), nvl(order_last_1d_count,0), nvl(order_last_1d_original_amount,0), nvl(order_last_1d_final_amount,0), nvl(order_last_7d_count,0), nvl(order_last_7d_original_amount,0), nvl(order_last_7d_final_amount,0), nvl(order_last_30d_count,0), nvl(order_last_30d_original_amount,0), nvl(order_last_30d_final_amount,0), nvl(order_count,0), nvl(order_original_amount,0), nvl(order_final_amount,0), nvl(payment_last_1d_count,0), nvl(payment_last_1d_amount,0), nvl(payment_last_7d_count,0), nvl(payment_last_7d_amount,0), nvl(payment_last_30d_count,0), nvl(payment_last_30d_amount,0), nvl(payment_count,0), nvl(payment_amount,0), nvl(refund_order_last_1d_count,0), nvl(refund_order_last_1d_amount,0), nvl(refund_order_last_7d_count,0), nvl(refund_order_last_7d_amount,0), nvl(refund_order_last_30d_count,0), nvl(refund_order_last_30d_amount,0), nvl(refund_order_count,0), nvl(refund_order_amount,0), nvl(refund_payment_last_1d_count,0), nvl(refund_payment_last_1d_amount,0), nvl(refund_payment_last_7d_count,0), nvl(refund_payment_last_7d_amount,0), nvl(refund_payment_last_30d_count,0), nvl(refund_payment_last_30d_amount,0), nvl(refund_payment_count,0), nvl(refund_payment_amount,0) from ( select id from ${APP}.dim_base_province )t1 left join ( select province_id province_id, sum(if(dt='$do_date',visit_count,0)) visit_last_1d_count, sum(if(dt='$do_date',login_count,0)) login_last_1d_count, sum(if(dt>=date_add('$do_date',-6),visit_count,0)) visit_last_7d_count, sum(if(dt>=date_add('$do_date',-6),login_count,0)) login_last_7d_count, sum(if(dt>=date_add('$do_date',-29),visit_count,0)) visit_last_30d_count, sum(if(dt>=date_add('$do_date',-29),login_count,0)) login_last_30d_count, sum(visit_count) visit_count, sum(login_count) login_count, sum(if(dt='$do_date',order_count,0)) order_last_1d_count, sum(if(dt='$do_date',order_original_amount,0)) order_last_1d_original_amount, sum(if(dt='$do_date',order_final_amount,0)) order_last_1d_final_amount, sum(if(dt>=date_add('$do_date',-6),order_count,0)) order_last_7d_count, sum(if(dt>=date_add('$do_date',-6),order_original_amount,0)) order_last_7d_original_amount, sum(if(dt>=date_add('$do_date',-6),order_final_amount,0)) order_last_7d_final_amount, sum(if(dt>=date_add('$do_date',-29),order_count,0)) order_last_30d_count, sum(if(dt>=date_add('$do_date',-29),order_original_amount,0)) order_last_30d_original_amount, sum(if(dt>=date_add('$do_date',-29),order_final_amount,0)) order_last_30d_final_amount, sum(order_count) order_count, sum(order_original_amount) order_original_amount, sum(order_final_amount) order_final_amount, sum(if(dt='$do_date',payment_count,0)) payment_last_1d_count, sum(if(dt='$do_date',payment_amount,0)) payment_last_1d_amount, sum(if(dt>=date_add('$do_date',-6),payment_count,0)) payment_last_7d_count, sum(if(dt>=date_add('$do_date',-6),payment_amount,0)) payment_last_7d_amount, sum(if(dt>=date_add('$do_date',-29),payment_count,0)) payment_last_30d_count, sum(if(dt>=date_add('$do_date',-29),payment_amount,0)) payment_last_30d_amount, sum(payment_count) payment_count, sum(payment_amount) payment_amount, sum(if(dt='$do_date',refund_order_count,0)) refund_order_last_1d_count, sum(if(dt='$do_date',refund_order_amount,0)) refund_order_last_1d_amount, sum(if(dt>=date_add('$do_date',-6),refund_order_count,0)) refund_order_last_7d_count, sum(if(dt>=date_add('$do_date',-6),refund_order_amount,0)) refund_order_last_7d_amount, sum(if(dt>=date_add('$do_date',-29),refund_order_count,0)) refund_order_last_30d_count, sum(if(dt>=date_add('$do_date',-29),refund_order_amount,0)) refund_order_last_30d_amount, sum(refund_order_count) refund_order_count, sum(refund_order_amount) refund_order_amount, sum(if(dt='$do_date',refund_payment_count,0)) refund_payment_last_1d_count, sum(if(dt='$do_date',refund_payment_amount,0)) refund_payment_last_1d_amount, sum(if(dt>=date_add('$do_date',-6),refund_payment_count,0)) refund_payment_last_7d_count, sum(if(dt>=date_add('$do_date',-6),refund_payment_amount,0)) refund_payment_last_7d_amount, sum(if(dt>=date_add('$do_date',-29),refund_payment_count,0)) refund_payment_last_30d_count, sum(if(dt>=date_add('$do_date',-29),refund_payment_amount,0)) refund_payment_last_30d_amount, sum(refund_payment_count) refund_payment_count, sum(refund_payment_amount) refund_payment_amount from ${APP}.dws_area_stats_daycount group by province_id )t2 on t1.id=t2.province_id; " case $1 in "dwt_visitor_topic" ) hive -e "$dwt_visitor_topic" ;; "dwt_user_topic" ) hive -e "$dwt_user_topic" ;; "dwt_sku_topic" ) hive -e "$dwt_sku_topic" ;; "dwt_activity_topic" ) hive -e "$dwt_activity_topic" ;; "dwt_coupon_topic" ) hive -e "$dwt_coupon_topic" ;; "dwt_area_topic" ) hive -e "$dwt_area_topic" ;; "all" ) hive -e "$dwt_visitor_topic$dwt_user_topic$dwt_sku_topic$dwt_activity_topic$dwt_coupon_topic$dwt_area_topic" ;; esac

(2)增加执行权限

复制代码
1
2
chmod +x dws_to_dwt_init.sh

(3)执行脚本

复制代码
1
2
dws_to_dwt_init.sh all 2022-04-11

9、DWT层每日数据导入脚本

(1)在/root/bin目录下创建脚本dws_to_dwt.sh

复制代码
1
2
vim dws_to_dwt.sh

在脚本中填写如下内容

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
#!/bin/bash APP=gmall # 如果是输入的日期按照取输入日期;如果没输入日期取当前时间的前一天 if [ -n "$2" ] ;then do_date=$2 else do_date=`date -d "-1 day" +%F` fi clear_date=`date -d "$do_date -2 day" +%F` dwt_visitor_topic=" insert overwrite table ${APP}.dwt_visitor_topic partition(dt='$do_date') select nvl(1d_ago.mid_id,old.mid_id), nvl(1d_ago.brand,old.brand), nvl(1d_ago.model,old.model), nvl(1d_ago.channel,old.channel), nvl(1d_ago.os,old.os), nvl(1d_ago.area_code,old.area_code), nvl(1d_ago.version_code,old.version_code), case when old.mid_id is null and 1d_ago.is_new=1 then '$do_date' when old.mid_id is null and 1d_ago.is_new=0 then '2020-06-13'--无法获取准确的首次登录日期,给定一个数仓搭建日之前的日期 else old.visit_date_first end, if(1d_ago.mid_id is not null,'$do_date',old.visit_date_last), nvl(1d_ago.visit_count,0), if(1d_ago.mid_id is null,0,1), nvl(old.visit_last_7d_count,0)+nvl(1d_ago.visit_count,0)- nvl(7d_ago.visit_count,0), nvl(old.visit_last_7d_day_count,0)+if(1d_ago.mid_id is null,0,1)- if(7d_ago.mid_id is null,0,1), nvl(old.visit_last_30d_count,0)+nvl(1d_ago.visit_count,0)- nvl(30d_ago.visit_count,0), nvl(old.visit_last_30d_day_count,0)+if(1d_ago.mid_id is null,0,1)- if(30d_ago.mid_id is null,0,1), nvl(old.visit_count,0)+nvl(1d_ago.visit_count,0), nvl(old.visit_day_count,0)+if(1d_ago.mid_id is null,0,1) from ( select mid_id, brand, model, channel, os, area_code, version_code, visit_date_first, visit_date_last, visit_last_1d_count, visit_last_1d_day_count, visit_last_7d_count, visit_last_7d_day_count, visit_last_30d_count, visit_last_30d_day_count, visit_count, visit_day_count from ${APP}.dwt_visitor_topic where dt=date_add('$do_date',-1) )old full outer join ( select mid_id, brand, model, is_new, channel, os, area_code, version_code, visit_count from ${APP}.dws_visitor_action_daycount where dt='$do_date' )1d_ago on old.mid_id=1d_ago.mid_id left join ( select mid_id, brand, model, is_new, channel, os, area_code, version_code, visit_count from ${APP}.dws_visitor_action_daycount where dt=date_add('$do_date',-7) )7d_ago on old.mid_id=7d_ago.mid_id left join ( select mid_id, brand, model, is_new, channel, os, area_code, version_code, visit_count from ${APP}.dws_visitor_action_daycount where dt=date_add('$do_date',-30) )30d_ago on old.mid_id=30d_ago.mid_id; alter table ${APP}.dwt_visitor_topic drop partition(dt='$clear_date'); " dwt_user_topic=" insert overwrite table ${APP}.dwt_user_topic partition(dt='$do_date') select nvl(1d_ago.user_id,old.user_id), nvl(old.login_date_first,'$do_date'), if(1d_ago.user_id is not null,'$do_date',old.login_date_last), nvl(1d_ago.login_count,0), if(1d_ago.user_id is not null,1,0), nvl(old.login_last_7d_count,0)+nvl(1d_ago.login_count,0)- nvl(7d_ago.login_count,0), nvl(old.login_last_7d_day_count,0)+if(1d_ago.user_id is null,0,1)- if(7d_ago.user_id is null,0,1), nvl(old.login_last_30d_count,0)+nvl(1d_ago.login_count,0)- nvl(30d_ago.login_count,0), nvl(old.login_last_30d_day_count,0)+if(1d_ago.user_id is null,0,1)- if(30d_ago.user_id is null,0,1), nvl(old.login_count,0)+nvl(1d_ago.login_count,0), nvl(old.login_day_count,0)+if(1d_ago.user_id is not null,1,0), if(old.order_date_first is null and 1d_ago.order_count>0, '$do_date', old.order_date_first), if(1d_ago.order_count>0,'$do_date',old.order_date_last), nvl(1d_ago.order_count,0), nvl(1d_ago.order_activity_count,0), nvl(1d_ago.order_activity_reduce_amount,0.0), nvl(1d_ago.order_coupon_count,0), nvl(1d_ago.order_coupon_reduce_amount,0.0), nvl(1d_ago.order_original_amount,0.0), nvl(1d_ago.order_final_amount,0.0), nvl(old.order_last_7d_count,0)+nvl(1d_ago.order_count,0)- nvl(7d_ago.order_count,0), nvl(old.order_activity_last_7d_count,0)+nvl(1d_ago.order_activity_count,0)- nvl(7d_ago.order_activity_count,0), nvl(old.order_activity_reduce_last_7d_amount,0.0)+nvl(1d_ago.order_activity_reduce_amount,0.0)- nvl(7d_ago.order_activity_reduce_amount,0.0), nvl(old.order_coupon_last_7d_count,0)+nvl(1d_ago.order_coupon_count,0)- nvl(7d_ago.order_coupon_count,0), nvl(old.order_coupon_reduce_last_7d_amount,0.0)+nvl(1d_ago.order_coupon_reduce_amount,0.0)- nvl(7d_ago.order_coupon_reduce_amount,0.0), nvl(old.order_last_7d_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0)- nvl(7d_ago.order_original_amount,0.0), nvl(old.order_last_7d_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0)- nvl(7d_ago.order_final_amount,0.0), nvl(old.order_last_30d_count,0)+nvl(1d_ago.order_count,0)- nvl(30d_ago.order_count,0), nvl(old.order_activity_last_30d_count,0)+nvl(1d_ago.order_activity_count,0)- nvl(30d_ago.order_activity_count,0), nvl(old.order_activity_reduce_last_30d_amount,0.0)+nvl(1d_ago.order_activity_reduce_amount,0.0)- nvl(30d_ago.order_activity_reduce_amount,0.0), nvl(old.order_coupon_last_30d_count,0)+nvl(1d_ago.order_coupon_count,0)- nvl(30d_ago.order_coupon_count,0), nvl(old.order_coupon_reduce_last_30d_amount,0.0)+nvl(1d_ago.order_coupon_reduce_amount,0.0)- nvl(30d_ago.order_coupon_reduce_amount,0.0), nvl(old.order_last_30d_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0)- nvl(30d_ago.order_original_amount,0.0), nvl(old.order_last_30d_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0)- nvl(30d_ago.order_final_amount,0.0), nvl(old.order_count,0)+nvl(1d_ago.order_count,0), nvl(old.order_activity_count,0)+nvl(1d_ago.order_activity_count,0), nvl(old.order_activity_reduce_amount,0.0)+nvl(1d_ago.order_activity_reduce_amount,0.0), nvl(old.order_coupon_count,0)+nvl(1d_ago.order_coupon_count,0), nvl(old.order_coupon_reduce_amount,0.0)+nvl(1d_ago.order_coupon_reduce_amount,0.0), nvl(old.order_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0), nvl(old.order_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0), if(old.payment_date_first is null and 1d_ago.payment_count>0, '$do_date', old.payment_date_first), if(1d_ago.payment_count>0,'$do_date',old.payment_date_last), nvl(1d_ago.payment_count,0), nvl(1d_ago.payment_amount,0.0), nvl(old.payment_last_7d_count,0)+nvl(1d_ago.payment_count,0)-nvl(7d_ago.payment_count,0), nvl(old.payment_last_7d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)-nvl(7d_ago.payment_amount,0.0), nvl(old.payment_last_30d_count,0)+nvl(1d_ago.payment_count,0)-nvl(30d_ago.payment_count,0), nvl(old.payment_last_30d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)- nvl(30d_ago.payment_amount,0.0), nvl(old.payment_count,0)+nvl(1d_ago.payment_count,0), nvl(old.payment_amount,0.0)+nvl(1d_ago.payment_amount,0.0), nvl(1d_ago.refund_order_count,0), nvl(1d_ago.refund_order_num,0), nvl(1d_ago.refund_order_amount,0.0), nvl(old.refund_order_last_7d_count,0)+nvl(1d_ago.refund_order_count,0)- nvl(7d_ago.refund_order_count,0), nvl(old.refund_order_last_7d_num,0)+nvl(1d_ago.refund_order_num, 0)- nvl(7d_ago.refund_order_num,0), nvl(old.refund_order_last_7d_amount,0.0)+ nvl(1d_ago.refund_order_amount,0.0)- nvl(7d_ago.refund_order_amount,0.0), nvl(old.refund_order_last_30d_count,0)+nvl(1d_ago.refund_order_count,0)- nvl(30d_ago.refund_order_count,0), nvl(old.refund_order_last_30d_num,0)+nvl(1d_ago.refund_order_num, 0)- nvl(30d_ago.refund_order_num,0), nvl(old.refund_order_last_30d_amount,0.0)+ nvl(1d_ago.refund_order_amount,0.0)- nvl(30d_ago.refund_order_amount,0.0), nvl(old.refund_order_count,0)+nvl(1d_ago.refund_order_count,0), nvl(old.refund_order_num,0)+nvl(1d_ago.refund_order_num,0), nvl(old.refund_order_amount,0.0)+ nvl(1d_ago.refund_order_amount,0.0), nvl(1d_ago.refund_payment_count,0), nvl(1d_ago.refund_payment_num,0), nvl(1d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_last_7d_count,0)+nvl(1d_ago.refund_payment_count,0)-nvl(7d_ago.refund_payment_count,0), nvl(old.refund_payment_last_7d_num,0)+nvl(1d_ago.refund_payment_num,0)- nvl(7d_ago.refund_payment_num,0), nvl(old.refund_payment_last_7d_amount,0.0)+ nvl(1d_ago.refund_payment_amount,0.0)- nvl(7d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_last_30d_count,0)+nvl(1d_ago.refund_payment_count,0)-nvl(30d_ago.refund_payment_count,0), nvl(old.refund_payment_last_30d_num,0)+nvl(1d_ago.refund_payment_num,0)- nvl(30d_ago.refund_payment_num,0), nvl(old.refund_payment_last_30d_amount,0.0)+ nvl(1d_ago.refund_payment_amount,0.0)- nvl(30d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_count,0)+nvl(1d_ago.refund_payment_count,0), nvl(old.refund_payment_num,0)+nvl(1d_ago.refund_payment_num,0), nvl(old.refund_payment_amount,0.0)+nvl(1d_ago.refund_payment_amount,0.0), nvl(1d_ago.cart_count,0), nvl(old.cart_last_7d_count,0)+nvl(1d_ago.cart_count,0)-nvl(7d_ago.cart_count,0), nvl(old.cart_last_30d_count,0)+nvl(1d_ago.cart_count,0)-nvl(30d_ago.cart_count,0), nvl(old.cart_count,0)+nvl(1d_ago.cart_count,0), nvl(1d_ago.favor_count,0), nvl(old.favor_last_7d_count,0)+nvl(1d_ago.favor_count,0)- nvl(7d_ago.favor_count,0), nvl(old.favor_last_30d_count,0)+nvl(1d_ago.favor_count,0)- nvl(30d_ago.favor_count,0), nvl(old.favor_count,0)+nvl(1d_ago.favor_count,0), nvl(1d_ago.coupon_get_count,0), nvl(1d_ago.coupon_using_count,0), nvl(1d_ago.coupon_used_count,0), nvl(old.coupon_last_7d_get_count,0)+nvl(1d_ago.coupon_get_count,0)- nvl(7d_ago.coupon_get_count,0), nvl(old.coupon_last_7d_using_count,0)+nvl(1d_ago.coupon_using_count,0)- nvl(7d_ago.coupon_using_count,0), nvl(old.coupon_last_7d_used_count,0)+ nvl(1d_ago.coupon_used_count,0)- nvl(7d_ago.coupon_used_count,0), nvl(old.coupon_last_30d_get_count,0)+nvl(1d_ago.coupon_get_count,0)- nvl(30d_ago.coupon_get_count,0), nvl(old.coupon_last_30d_using_count,0)+nvl(1d_ago.coupon_using_count,0)- nvl(30d_ago.coupon_using_count,0), nvl(old.coupon_last_30d_used_count,0)+ nvl(1d_ago.coupon_used_count,0)- nvl(30d_ago.coupon_used_count,0), nvl(old.coupon_get_count,0)+nvl(1d_ago.coupon_get_count,0), nvl(old.coupon_using_count,0)+nvl(1d_ago.coupon_using_count,0), nvl(old.coupon_used_count,0)+nvl(1d_ago.coupon_used_count,0), nvl(1d_ago.appraise_good_count,0), nvl(1d_ago.appraise_mid_count,0), nvl(1d_ago.appraise_bad_count,0), nvl(old.appraise_last_7d_default_count,0)+nvl(1d_ago.appraise_default_count,0)-nvl(7d_ago.appraise_default_count,0), nvl(old.appraise_last_7d_good_count,0)+nvl(1d_ago.appraise_good_count,0)- nvl(7d_ago.appraise_good_count,0), nvl(old.appraise_last_7d_mid_count,0)+nvl(1d_ago.appraise_mid_count,0)-nvl(7d_ago.appraise_mid_count,0), nvl(old.appraise_last_7d_bad_count,0)+nvl(1d_ago.appraise_bad_count,0)-nvl(7d_ago.appraise_bad_count,0), nvl(old.appraise_last_7d_default_count,0)+nvl(1d_ago.appraise_default_count,0)-nvl(7d_ago.appraise_default_count,0), nvl(old.appraise_last_30d_good_count,0)+nvl(1d_ago.appraise_good_count,0)- nvl(30d_ago.appraise_good_count,0), nvl(old.appraise_last_30d_mid_count,0)+nvl(1d_ago.appraise_mid_count,0)-nvl(30d_ago.appraise_mid_count,0), nvl(old.appraise_last_30d_bad_count,0)+nvl(1d_ago.appraise_bad_count,0)-nvl(30d_ago.appraise_bad_count,0), nvl(old.appraise_last_30d_default_count,0)+nvl(1d_ago.appraise_default_count,0)-nvl(30d_ago.appraise_default_count,0), nvl(old.appraise_good_count,0)+nvl(1d_ago.appraise_good_count,0), nvl(old.appraise_mid_count,0)+nvl(1d_ago.appraise_mid_count, 0), nvl(old.appraise_bad_count,0)+nvl(1d_ago.appraise_bad_count,0), nvl(old.appraise_default_count,0)+nvl(1d_ago.appraise_default_count,0) from ( select user_id, login_date_first, login_date_last, login_date_1d_count, login_last_1d_day_count, login_last_7d_count, login_last_7d_day_count, login_last_30d_count, login_last_30d_day_count, login_count, login_day_count, order_date_first, order_date_last, order_last_1d_count, order_activity_last_1d_count, order_activity_reduce_last_1d_amount, order_coupon_last_1d_count, order_coupon_reduce_last_1d_amount, order_last_1d_original_amount, order_last_1d_final_amount, order_last_7d_count, order_activity_last_7d_count, order_activity_reduce_last_7d_amount, order_coupon_last_7d_count, order_coupon_reduce_last_7d_amount, order_last_7d_original_amount, order_last_7d_final_amount, order_last_30d_count, order_activity_last_30d_count, order_activity_reduce_last_30d_amount, order_coupon_last_30d_count, order_coupon_reduce_last_30d_amount, order_last_30d_original_amount, order_last_30d_final_amount, order_count, order_activity_count, order_activity_reduce_amount, order_coupon_count, order_coupon_reduce_amount, order_original_amount, order_final_amount, payment_date_first, payment_date_last, payment_last_1d_count, payment_last_1d_amount, payment_last_7d_count, payment_last_7d_amount, payment_last_30d_count, payment_last_30d_amount, payment_count, payment_amount, refund_order_last_1d_count, refund_order_last_1d_num, refund_order_last_1d_amount, refund_order_last_7d_count, refund_order_last_7d_num, refund_order_last_7d_amount, refund_order_last_30d_count, refund_order_last_30d_num, refund_order_last_30d_amount, refund_order_count, refund_order_num, refund_order_amount, refund_payment_last_1d_count, refund_payment_last_1d_num, refund_payment_last_1d_amount, refund_payment_last_7d_count, refund_payment_last_7d_num, refund_payment_last_7d_amount, refund_payment_last_30d_count, refund_payment_last_30d_num, refund_payment_last_30d_amount, refund_payment_count, refund_payment_num, refund_payment_amount, cart_last_1d_count, cart_last_7d_count, cart_last_30d_count, cart_count, favor_last_1d_count, favor_last_7d_count, favor_last_30d_count, favor_count, coupon_last_1d_get_count, coupon_last_1d_using_count, coupon_last_1d_used_count, coupon_last_7d_get_count, coupon_last_7d_using_count, coupon_last_7d_used_count, coupon_last_30d_get_count, coupon_last_30d_using_count, coupon_last_30d_used_count, coupon_get_count, coupon_using_count, coupon_used_count, appraise_last_1d_good_count, appraise_last_1d_mid_count, appraise_last_1d_bad_count, appraise_last_1d_default_count, appraise_last_7d_good_count, appraise_last_7d_mid_count, appraise_last_7d_bad_count, appraise_last_7d_default_count, appraise_last_30d_good_count, appraise_last_30d_mid_count, appraise_last_30d_bad_count, appraise_last_30d_default_count, appraise_good_count, appraise_mid_count, appraise_bad_count, appraise_default_count from ${APP}.dwt_user_topic where dt=date_add('$do_date',-1) )old full outer join ( select user_id, login_count, cart_count, favor_count, order_count, order_activity_count, order_activity_reduce_amount, order_coupon_count, order_coupon_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_amount, refund_order_count, refund_order_num, refund_order_amount, refund_payment_count, refund_payment_num, refund_payment_amount, coupon_get_count, coupon_using_count, coupon_used_count, appraise_good_count, appraise_mid_count, appraise_bad_count, appraise_default_count from ${APP}.dws_user_action_daycount where dt='$do_date' )1d_ago on old.user_id=1d_ago.user_id left join ( select user_id, login_count, cart_count, favor_count, order_count, order_activity_count, order_activity_reduce_amount, order_coupon_count, order_coupon_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_amount, refund_order_count, refund_order_num, refund_order_amount, refund_payment_count, refund_payment_num, refund_payment_amount, coupon_get_count, coupon_using_count, coupon_used_count, appraise_good_count, appraise_mid_count, appraise_bad_count, appraise_default_count from ${APP}.dws_user_action_daycount where dt=date_add('$do_date',-7) )7d_ago on old.user_id=7d_ago.user_id left join ( select user_id, login_count, cart_count, favor_count, order_count, order_activity_count, order_activity_reduce_amount, order_coupon_count, order_coupon_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_amount, refund_order_count, refund_order_num, refund_order_amount, refund_payment_count, refund_payment_num, refund_payment_amount, coupon_get_count, coupon_using_count, coupon_used_count, appraise_good_count, appraise_mid_count, appraise_bad_count, appraise_default_count from ${APP}.dws_user_action_daycount where dt=date_add('$do_date',-30) )30d_ago on old.user_id=30d_ago.user_id; alter table ${APP}.dwt_user_topic drop partition(dt='$clear_date'); " dwt_sku_topic=" insert overwrite table ${APP}.dwt_sku_topic partition(dt='$do_date') select nvl(1d_ago.sku_id,old.sku_id), nvl(1d_ago.order_count,0), nvl(1d_ago.order_num,0), nvl(1d_ago.order_activity_count,0), nvl(1d_ago.order_coupon_count,0), nvl(1d_ago.order_activity_reduce_amount,0.0), nvl(1d_ago.order_coupon_reduce_amount,0.0), nvl(1d_ago.order_original_amount,0.0), nvl(1d_ago.order_final_amount,0.0), nvl(old.order_last_7d_count,0)+nvl(1d_ago.order_count,0)- nvl(7d_ago.order_count,0), nvl(old.order_last_7d_num,0)+nvl(1d_ago.order_num,0)- nvl(7d_ago.order_num,0), nvl(old.order_activity_last_7d_count,0)+nvl(1d_ago.order_activity_count,0)- nvl(7d_ago.order_activity_count,0), nvl(old.order_coupon_last_7d_count,0)+nvl(1d_ago.order_coupon_count,0)- nvl(7d_ago.order_coupon_count,0), nvl(old.order_activity_reduce_last_7d_amount,0.0)+nvl(1d_ago.order_activity_reduce_amount,0.0)- nvl(7d_ago.order_activity_reduce_amount,0.0), nvl(old.order_coupon_reduce_last_7d_amount,0.0)+nvl(1d_ago.order_coupon_reduce_amount,0.0)- nvl(7d_ago.order_coupon_reduce_amount,0.0), nvl(old.order_last_7d_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0)- nvl(7d_ago.order_original_amount,0.0), nvl(old.order_last_7d_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0)- nvl(7d_ago.order_final_amount,0.0), nvl(old.order_last_30d_count,0)+nvl(1d_ago.order_count,0)- nvl(30d_ago.order_count,0), nvl(old.order_last_30d_num,0)+nvl(1d_ago.order_num,0)- nvl(30d_ago.order_num,0), nvl(old.order_activity_last_30d_count,0)+nvl(1d_ago.order_activity_count,0)- nvl(30d_ago.order_activity_count,0), nvl(old.order_coupon_last_30d_count,0)+nvl(1d_ago.order_coupon_count,0)- nvl(30d_ago.order_coupon_count,0), nvl(old.order_activity_reduce_last_30d_amount,0.0)+nvl(1d_ago.order_activity_reduce_amount,0.0)- nvl(30d_ago.order_activity_reduce_amount,0.0), nvl(old.order_coupon_reduce_last_30d_amount,0.0)+nvl(1d_ago.order_coupon_reduce_amount,0.0)- nvl(30d_ago.order_coupon_reduce_amount,0.0), nvl(old.order_last_30d_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0)- nvl(30d_ago.order_original_amount,0.0), nvl(old.order_last_30d_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0)- nvl(30d_ago.order_final_amount,0.0), nvl(old.order_count,0)+nvl(1d_ago.order_count,0), nvl(old.order_num,0)+nvl(1d_ago.order_num,0), nvl(old.order_activity_count,0)+nvl(1d_ago.order_activity_count,0), nvl(old.order_coupon_count,0)+nvl(1d_ago.order_coupon_count,0), nvl(old.order_activity_reduce_amount,0.0)+nvl(1d_ago.order_activity_reduce_amount,0.0), nvl(old.order_coupon_reduce_amount,0.0)+nvl(1d_ago.order_coupon_reduce_amount,0.0), nvl(old.order_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0), nvl(old.order_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0), nvl(1d_ago.payment_count,0), nvl(1d_ago.payment_num,0), nvl(1d_ago.payment_amount,0.0), nvl(old.payment_last_7d_count,0)+nvl(1d_ago.payment_count,0)- nvl(7d_ago.payment_count,0), nvl(old.payment_last_7d_num,0)+nvl(1d_ago.payment_num,0)- nvl(7d_ago.payment_num,0), nvl(old.payment_last_7d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)- nvl(7d_ago.payment_amount,0.0), nvl(old.payment_last_30d_count,0)+nvl(1d_ago.payment_count,0)- nvl(30d_ago.payment_count,0), nvl(old.payment_last_30d_num,0)+nvl(1d_ago.payment_num,0)- nvl(30d_ago.payment_num,0), nvl(old.payment_last_30d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)- nvl(30d_ago.payment_amount,0.0), nvl(old.payment_count,0)+nvl(1d_ago.payment_count,0), nvl(old.payment_num,0)+nvl(1d_ago.payment_num,0), nvl(old.payment_amount,0.0)+nvl(1d_ago.payment_amount,0.0), nvl(old.refund_order_last_1d_count,0)+nvl(1d_ago.refund_order_count,0)- nvl(1d_ago.refund_order_count,0), nvl(old.refund_order_last_1d_num,0)+nvl(1d_ago.refund_order_num,0)- nvl(1d_ago.refund_order_num,0), nvl(old.refund_order_last_1d_amount,0.0)+nvl(1d_ago.refund_order_amount,0.0)- nvl(1d_ago.refund_order_amount,0.0), nvl(old.refund_order_last_7d_count,0)+nvl(1d_ago.refund_order_count,0)- nvl(7d_ago.refund_order_count,0), nvl(old.refund_order_last_7d_num,0)+nvl(1d_ago.refund_order_num,0)- nvl(7d_ago.refund_order_num,0), nvl(old.refund_order_last_7d_amount,0.0)+nvl(1d_ago.refund_order_amount,0.0)- nvl(7d_ago.refund_order_amount,0.0), nvl(old.refund_order_last_30d_count,0)+nvl(1d_ago.refund_order_count,0)- nvl(30d_ago.refund_order_count,0), nvl(old.refund_order_last_30d_num,0)+nvl(1d_ago.refund_order_num,0)- nvl(30d_ago.refund_order_num,0), nvl(old.refund_order_last_30d_amount,0.0)+nvl(1d_ago.refund_order_amount,0.0)- nvl(30d_ago.refund_order_amount,0.0), nvl(old.refund_order_count,0)+nvl(1d_ago.refund_order_count,0), nvl(old.refund_order_num,0)+nvl(1d_ago.refund_order_num,0), nvl(old.refund_order_amount,0.0)+nvl(1d_ago.refund_order_amount,0.0), nvl(1d_ago.refund_payment_count,0), nvl(1d_ago.refund_payment_num,0), nvl(1d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_last_7d_count,0)+nvl(1d_ago.refund_payment_count,0)- nvl(7d_ago.refund_payment_count,0), nvl(old.refund_payment_last_7d_num,0)+nvl(1d_ago.refund_payment_num,0)- nvl(7d_ago.refund_payment_num,0), nvl(old.refund_payment_last_7d_amount,0.0)+nvl(1d_ago.refund_payment_amount,0.0)- nvl(7d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_last_30d_count,0)+nvl(1d_ago.refund_payment_count,0)- nvl(30d_ago.refund_payment_count,0), nvl(old.refund_payment_last_30d_num,0)+nvl(1d_ago.refund_payment_num,0)- nvl(30d_ago.refund_payment_num,0), nvl(old.refund_payment_last_30d_amount,0.0)+nvl(1d_ago.refund_payment_amount,0.0)- nvl(30d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_count,0)+nvl(1d_ago.refund_payment_count,0), nvl(old.refund_payment_num,0)+nvl(1d_ago.refund_payment_num,0), nvl(old.refund_payment_amount,0.0)+nvl(1d_ago.refund_payment_amount,0.0), nvl(1d_ago.cart_count,0), nvl(old.cart_last_7d_count,0)+nvl(1d_ago.cart_count,0)- nvl(7d_ago.cart_count,0), nvl(old.cart_last_30d_count,0)+nvl(1d_ago.cart_count,0)- nvl(30d_ago.cart_count,0), nvl(old.cart_count,0)+nvl(1d_ago.cart_count,0), nvl(1d_ago.favor_count,0), nvl(old.favor_last_7d_count,0)+nvl(1d_ago.favor_count,0)- nvl(7d_ago.favor_count,0), nvl(old.favor_last_30d_count,0)+nvl(1d_ago.favor_count,0)- nvl(30d_ago.favor_count,0), nvl(old.favor_count,0)+nvl(1d_ago.favor_count,0), nvl(1d_ago.appraise_good_count,0), nvl(1d_ago.appraise_mid_count,0), nvl(1d_ago.appraise_bad_count,0), nvl(1d_ago.appraise_default_count,0), nvl(old.appraise_last_7d_good_count,0)+nvl(1d_ago.appraise_good_count,0)- nvl(7d_ago.appraise_good_count,0), nvl(old.appraise_last_7d_mid_count,0)+nvl(1d_ago.appraise_mid_count,0)- nvl(7d_ago.appraise_mid_count,0), nvl(old.appraise_last_7d_bad_count,0)+nvl(1d_ago.appraise_bad_count,0)- nvl(7d_ago.appraise_bad_count,0), nvl(old.appraise_last_7d_default_count,0)+nvl(1d_ago.appraise_default_count,0)- nvl(7d_ago.appraise_default_count,0), nvl(old.appraise_last_30d_good_count,0)+nvl(1d_ago.appraise_good_count,0)- nvl(30d_ago.appraise_good_count,0), nvl(old.appraise_last_30d_mid_count,0)+nvl(1d_ago.appraise_mid_count,0)- nvl(30d_ago.appraise_mid_count,0), nvl(old.appraise_last_30d_bad_count,0)+nvl(1d_ago.appraise_bad_count,0)- nvl(30d_ago.appraise_bad_count,0), nvl(old.appraise_last_30d_default_count,0)+nvl(1d_ago.appraise_default_count,0)- nvl(30d_ago.appraise_default_count,0), nvl(old.appraise_good_count,0)+nvl(1d_ago.appraise_good_count,0), nvl(old.appraise_mid_count,0)+nvl(1d_ago.appraise_mid_count,0), nvl(old.appraise_bad_count,0)+nvl(1d_ago.appraise_bad_count,0), nvl(old.appraise_default_count,0)+nvl(1d_ago.appraise_default_count,0) from ( select sku_id, order_last_1d_count, order_last_1d_num, order_activity_last_1d_count, order_coupon_last_1d_count, order_activity_reduce_last_1d_amount, order_coupon_reduce_last_1d_amount, order_last_1d_original_amount, order_last_1d_final_amount, order_last_7d_count, order_last_7d_num, order_activity_last_7d_count, order_coupon_last_7d_count, order_activity_reduce_last_7d_amount, order_coupon_reduce_last_7d_amount, order_last_7d_original_amount, order_last_7d_final_amount, order_last_30d_count, order_last_30d_num, order_activity_last_30d_count, order_coupon_last_30d_count, order_activity_reduce_last_30d_amount, order_coupon_reduce_last_30d_amount, order_last_30d_original_amount, order_last_30d_final_amount, order_count, order_num, order_activity_count, order_coupon_count, order_activity_reduce_amount, order_coupon_reduce_amount, order_original_amount, order_final_amount, payment_last_1d_count, payment_last_1d_num, payment_last_1d_amount, payment_last_7d_count, payment_last_7d_num, payment_last_7d_amount, payment_last_30d_count, payment_last_30d_num, payment_last_30d_amount, payment_count, payment_num, payment_amount, refund_order_last_1d_count, refund_order_last_1d_num, refund_order_last_1d_amount, refund_order_last_7d_count, refund_order_last_7d_num, refund_order_last_7d_amount, refund_order_last_30d_count, refund_order_last_30d_num, refund_order_last_30d_amount, refund_order_count, refund_order_num, refund_order_amount, refund_payment_last_1d_count, refund_payment_last_1d_num, refund_payment_last_1d_amount, refund_payment_last_7d_count, refund_payment_last_7d_num, refund_payment_last_7d_amount, refund_payment_last_30d_count, refund_payment_last_30d_num, refund_payment_last_30d_amount, refund_payment_count, refund_payment_num, refund_payment_amount, cart_last_1d_count, cart_last_7d_count, cart_last_30d_count, cart_count, favor_last_1d_count, favor_last_7d_count, favor_last_30d_count, favor_count, appraise_last_1d_good_count, appraise_last_1d_mid_count, appraise_last_1d_bad_count, appraise_last_1d_default_count, appraise_last_7d_good_count, appraise_last_7d_mid_count, appraise_last_7d_bad_count, appraise_last_7d_default_count, appraise_last_30d_good_count, appraise_last_30d_mid_count, appraise_last_30d_bad_count, appraise_last_30d_default_count, appraise_good_count, appraise_mid_count, appraise_bad_count, appraise_default_count from ${APP}.dwt_sku_topic where dt=date_add('$do_date',-1) )old full outer join ( select sku_id, order_count, order_num, order_activity_count, order_coupon_count, order_activity_reduce_amount, order_coupon_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_num, payment_amount, refund_order_count, refund_order_num, refund_order_amount, refund_payment_count, refund_payment_num, refund_payment_amount, cart_count, favor_count, appraise_good_count, appraise_mid_count, appraise_bad_count, appraise_default_count from ${APP}.dws_sku_action_daycount where dt='$do_date' )1d_ago on old.sku_id=1d_ago.sku_id left join ( select sku_id, order_count, order_num, order_activity_count, order_coupon_count, order_activity_reduce_amount, order_coupon_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_num, payment_amount, refund_order_count, refund_order_num, refund_order_amount, refund_payment_count, refund_payment_num, refund_payment_amount, cart_count, favor_count, appraise_good_count, appraise_mid_count, appraise_bad_count, appraise_default_count from ${APP}.dws_sku_action_daycount where dt=date_add('$do_date',-7) )7d_ago on old.sku_id=7d_ago.sku_id left join ( select sku_id, order_count, order_num, order_activity_count, order_coupon_count, order_activity_reduce_amount, order_coupon_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_num, payment_amount, refund_order_count, refund_order_num, refund_order_amount, refund_payment_count, refund_payment_num, refund_payment_amount, cart_count, favor_count, appraise_good_count, appraise_mid_count, appraise_bad_count, appraise_default_count from ${APP}.dws_sku_action_daycount where dt=date_add('$do_date',-30) )30d_ago on old.sku_id=30d_ago.sku_id; alter table ${APP}.dwt_sku_topic drop partition(dt='$clear_date'); " dwt_activity_topic=" insert overwrite table ${APP}.dwt_activity_topic partition(dt='$do_date') select nvl(1d_ago.activity_rule_id,old.activity_rule_id), nvl(1d_ago.activity_id,old.activity_id), nvl(1d_ago.order_count,0), nvl(1d_ago.order_reduce_amount,0.0), nvl(1d_ago.order_original_amount,0.0), nvl(1d_ago.order_final_amount,0.0), nvl(old.order_count,0)+nvl(1d_ago.order_count,0), nvl(old.order_reduce_amount,0.0)+nvl(1d_ago.order_reduce_amount,0.0), nvl(old.order_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0), nvl(old.order_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0), nvl(1d_ago.payment_count,0), nvl(1d_ago.payment_reduce_amount,0.0), nvl(1d_ago.payment_amount,0.0), nvl(old.payment_count,0)+nvl(1d_ago.payment_count,0), nvl(old.payment_reduce_amount,0.0)+nvl(1d_ago.payment_reduce_amount,0.0), nvl(old.payment_amount,0.0)+nvl(1d_ago.payment_amount,0.0) from ( select activity_rule_id, activity_id, order_count, order_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_reduce_amount, payment_amount from ${APP}.dwt_activity_topic where dt=date_add('$do_date',-1) )old full outer join ( select activity_rule_id, activity_id, order_count, order_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_reduce_amount, payment_amount from ${APP}.dws_activity_info_daycount where dt='$do_date' )1d_ago on old.activity_rule_id=1d_ago.activity_rule_id; alter table ${APP}.dwt_activity_topic drop partition(dt='$clear_date'); " dwt_coupon_topic=" insert overwrite table ${APP}.dwt_coupon_topic partition(dt='$do_date') select nvl(1d_ago.coupon_id,old.coupon_id), nvl(1d_ago.get_count,0), nvl(old.get_last_7d_count,0)+nvl(1d_ago.get_count,0)- nvl(7d_ago.get_count,0), nvl(old.get_last_30d_count,0)+nvl(1d_ago.get_count,0)- nvl(30d_ago.get_count,0), nvl(old.get_count,0)+nvl(1d_ago.get_count,0), nvl(1d_ago.order_count,0), nvl(1d_ago.order_reduce_amount,0.0), nvl(1d_ago.order_original_amount,0.0), nvl(1d_ago.order_final_amount,0.0), nvl(old.order_last_7d_count,0)+nvl(1d_ago.order_count,0)- nvl(7d_ago.order_count,0), nvl(old.order_last_7d_reduce_amount,0.0)+nvl(1d_ago.order_reduce_amount,0.0)- nvl(7d_ago.order_reduce_amount,0.0), nvl(old.order_last_7d_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0)- nvl(7d_ago.order_original_amount,0.0), nvl(old.order_last_7d_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0)- nvl(7d_ago.order_final_amount,0.0), nvl(old.order_last_30d_count,0)+nvl(1d_ago.order_count,0)- nvl(30d_ago.order_count,0), nvl(old.order_last_30d_reduce_amount,0.0)+nvl(1d_ago.order_reduce_amount,0.0)- nvl(30d_ago.order_reduce_amount,0.0), nvl(old.order_last_30d_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0)- nvl(30d_ago.order_original_amount,0.0), nvl(old.order_last_30d_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0)- nvl(30d_ago.order_final_amount,0.0), nvl(old.order_count,0)+nvl(1d_ago.order_count,0), nvl(old.order_reduce_amount,0.0)+nvl(1d_ago.order_reduce_amount,0.0), nvl(old.order_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0), nvl(old.order_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0), nvl(old.payment_last_1d_count,0)+nvl(1d_ago.payment_count,0)- nvl(1d_ago.payment_count,0), nvl(old.payment_last_1d_reduce_amount,0.0)+nvl(1d_ago.payment_reduce_amount,0.0)- nvl(1d_ago.payment_reduce_amount,0.0), nvl(old.payment_last_1d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)- nvl(1d_ago.payment_amount,0.0), nvl(old.payment_last_7d_count,0)+nvl(1d_ago.payment_count,0)- nvl(7d_ago.payment_count,0), nvl(old.payment_last_7d_reduce_amount,0.0)+nvl(1d_ago.payment_reduce_amount,0.0)- nvl(7d_ago.payment_reduce_amount,0.0), nvl(old.payment_last_7d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)- nvl(7d_ago.payment_amount,0.0), nvl(old.payment_last_30d_count,0)+nvl(1d_ago.payment_count,0)- nvl(30d_ago.payment_count,0), nvl(old.payment_last_30d_reduce_amount,0.0)+nvl(1d_ago.payment_reduce_amount,0.0)- nvl(30d_ago.payment_reduce_amount,0.0), nvl(old.payment_last_30d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)- nvl(30d_ago.payment_amount,0.0), nvl(old.payment_count,0)+nvl(1d_ago.payment_count,0), nvl(old.payment_reduce_amount,0.0)+nvl(1d_ago.payment_reduce_amount,0.0), nvl(old.payment_amount,0.0)+nvl(1d_ago.payment_amount,0.0), nvl(1d_ago.expire_count,0), nvl(old.expire_last_7d_count,0)+nvl(1d_ago.expire_count,0)- nvl(7d_ago.expire_count,0), nvl(old.expire_last_30d_count,0)+nvl(1d_ago.expire_count,0)- nvl(30d_ago.expire_count,0), nvl(old.expire_count,0)+nvl(1d_ago.expire_count,0) from ( select coupon_id, get_last_1d_count, get_last_7d_count, get_last_30d_count, get_count, order_last_1d_count, order_last_1d_reduce_amount, order_last_1d_original_amount, order_last_1d_final_amount, order_last_7d_count, order_last_7d_reduce_amount, order_last_7d_original_amount, order_last_7d_final_amount, order_last_30d_count, order_last_30d_reduce_amount, order_last_30d_original_amount, order_last_30d_final_amount, order_count, order_reduce_amount, order_original_amount, order_final_amount, payment_last_1d_count, payment_last_1d_reduce_amount, payment_last_1d_amount, payment_last_7d_count, payment_last_7d_reduce_amount, payment_last_7d_amount, payment_last_30d_count, payment_last_30d_reduce_amount, payment_last_30d_amount, payment_count, payment_reduce_amount, payment_amount, expire_last_1d_count, expire_last_7d_count, expire_last_30d_count, expire_count from ${APP}.dwt_coupon_topic where dt=date_add('$do_date',-1) )old full outer join ( select coupon_id, get_count, order_count, order_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_reduce_amount, payment_amount, expire_count from ${APP}.dws_coupon_info_daycount where dt='$do_date' )1d_ago on old.coupon_id=1d_ago.coupon_id left join ( select coupon_id, get_count, order_count, order_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_reduce_amount, payment_amount, expire_count from ${APP}.dws_coupon_info_daycount where dt=date_add('$do_date',-7) )7d_ago on old.coupon_id=7d_ago.coupon_id left join ( select coupon_id, get_count, order_count, order_reduce_amount, order_original_amount, order_final_amount, payment_count, payment_reduce_amount, payment_amount, expire_count from ${APP}.dws_coupon_info_daycount where dt=date_add('$do_date',-30) )30d_ago on old.coupon_id=30d_ago.coupon_id; alter table ${APP}.dwt_coupon_topic drop partition(dt='$clear_date'); " dwt_area_topic=" insert overwrite table ${APP}.dwt_area_topic partition(dt='$do_date') select nvl(old.province_id, 1d_ago.province_id), nvl(1d_ago.visit_count,0), nvl(1d_ago.login_count,0), nvl(old.visit_last_7d_count,0)+nvl(1d_ago.visit_count,0)- nvl(7d_ago.visit_count,0), nvl(old.login_last_7d_count,0)+nvl(1d_ago.login_count,0)- nvl(7d_ago.login_count,0), nvl(old.visit_last_30d_count,0)+nvl(1d_ago.visit_count,0)- nvl(30d_ago.visit_count,0), nvl(old.login_last_30d_count,0)+nvl(1d_ago.login_count,0)- nvl(30d_ago.login_count,0), nvl(old.visit_count,0)+nvl(1d_ago.visit_count,0), nvl(old.login_count,0)+nvl(1d_ago.login_count,0), nvl(1d_ago.order_count,0), nvl(1d_ago.order_original_amount,0.0), nvl(1d_ago.order_final_amount,0.0), nvl(old.order_last_7d_count,0)+nvl(1d_ago.order_count,0)- nvl(7d_ago.order_count,0), nvl(old.order_last_7d_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0)- nvl(7d_ago.order_original_amount,0.0), nvl(old.order_last_7d_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0)- nvl(7d_ago.order_final_amount,0.0), nvl(old.order_last_30d_count,0)+nvl(1d_ago.order_count,0)- nvl(30d_ago.order_count,0), nvl(old.order_last_30d_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0)- nvl(30d_ago.order_original_amount,0.0), nvl(old.order_last_30d_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0)- nvl(30d_ago.order_final_amount,0.0), nvl(old.order_count,0)+nvl(1d_ago.order_count,0), nvl(old.order_original_amount,0.0)+nvl(1d_ago.order_original_amount,0.0), nvl(old.order_final_amount,0.0)+nvl(1d_ago.order_final_amount,0.0), nvl(1d_ago.payment_count,0), nvl(1d_ago.payment_amount,0.0), nvl(old.payment_last_7d_count,0)+nvl(1d_ago.payment_count,0)- nvl(7d_ago.payment_count,0), nvl(old.payment_last_7d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)- nvl(7d_ago.payment_amount,0.0), nvl(old.payment_last_30d_count,0)+nvl(1d_ago.payment_count,0)- nvl(30d_ago.payment_count,0), nvl(old.payment_last_30d_amount,0.0)+nvl(1d_ago.payment_amount,0.0)- nvl(30d_ago.payment_amount,0.0), nvl(old.payment_count,0)+nvl(1d_ago.payment_count,0), nvl(old.payment_amount,0.0)+nvl(1d_ago.payment_amount,0.0), nvl(1d_ago.refund_order_count,0), nvl(1d_ago.refund_order_amount,0.0), nvl(old.refund_order_last_7d_count,0)+nvl(1d_ago.refund_order_count,0)- nvl(7d_ago.refund_order_count,0), nvl(old.refund_order_last_7d_amount,0.0)+nvl(1d_ago.refund_order_amount,0.0)- nvl(7d_ago.refund_order_amount,0.0), nvl(old.refund_order_last_30d_count,0)+nvl(1d_ago.refund_order_count,0)- nvl(30d_ago.refund_order_count,0), nvl(old.refund_order_last_30d_amount,0.0)+nvl(1d_ago.refund_order_amount,0.0)- nvl(30d_ago.refund_order_amount,0.0), nvl(old.refund_order_count,0)+nvl(1d_ago.refund_order_count,0), nvl(old.refund_order_amount,0.0)+nvl(1d_ago.refund_order_amount,0.0), nvl(1d_ago.refund_payment_count,0), nvl(1d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_last_7d_count,0)+nvl(1d_ago.refund_payment_count,0)- nvl(7d_ago.refund_payment_count,0), nvl(old.refund_payment_last_7d_amount,0.0)+nvl(1d_ago.refund_payment_amount,0.0)- nvl(7d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_last_30d_count,0)+nvl(1d_ago.refund_payment_count,0)- nvl(30d_ago.refund_payment_count,0), nvl(old.refund_payment_last_30d_amount,0.0)+nvl(1d_ago.refund_payment_amount,0.0)- nvl(30d_ago.refund_payment_amount,0.0), nvl(old.refund_payment_count,0)+nvl(1d_ago.refund_payment_count,0), nvl(old.refund_payment_amount,0.0)+nvl(1d_ago.refund_payment_amount,0.0) from ( select province_id, visit_last_1d_count, login_last_1d_count, visit_last_7d_count, login_last_7d_count, visit_last_30d_count, login_last_30d_count, visit_count, login_count, order_last_1d_count, order_last_1d_original_amount, order_last_1d_final_amount, order_last_7d_count, order_last_7d_original_amount, order_last_7d_final_amount, order_last_30d_count, order_last_30d_original_amount, order_last_30d_final_amount, order_count, order_original_amount, order_final_amount, payment_last_1d_count, payment_last_1d_amount, payment_last_7d_count, payment_last_7d_amount, payment_last_30d_count, payment_last_30d_amount, payment_count, payment_amount, refund_order_last_1d_count, refund_order_last_1d_amount, refund_order_last_7d_count, refund_order_last_7d_amount, refund_order_last_30d_count, refund_order_last_30d_amount, refund_order_count, refund_order_amount, refund_payment_last_1d_count, refund_payment_last_1d_amount, refund_payment_last_7d_count, refund_payment_last_7d_amount, refund_payment_last_30d_count, refund_payment_last_30d_amount, refund_payment_count, refund_payment_amount from ${APP}.dwt_area_topic where dt=date_add('$do_date',-1) )old full outer join ( select province_id, visit_count, login_count, order_count, order_original_amount, order_final_amount, payment_count, payment_amount, refund_order_count, refund_order_amount, refund_payment_count, refund_payment_amount from ${APP}.dws_area_stats_daycount where dt='$do_date' )1d_ago on old.province_id=1d_ago.province_id left join ( select province_id, visit_count, login_count, order_count, order_original_amount, order_final_amount, payment_count, payment_amount, refund_order_count, refund_order_amount, refund_payment_count, refund_payment_amount from ${APP}.dws_area_stats_daycount where dt=date_add('$do_date',-7) )7d_ago on old.province_id= 7d_ago.province_id left join ( select province_id, visit_count, login_count, order_count, order_original_amount, order_final_amount, payment_count, payment_amount, refund_order_count, refund_order_amount, refund_payment_count, refund_payment_amount from ${APP}.dws_area_stats_daycount where dt=date_add('$do_date',-30) )30d_ago on old.province_id= 30d_ago.province_id; alter table ${APP}.dwt_area_topic drop partition(dt='$clear_date'); " case $1 in "dwt_visitor_topic" ) hive -e "$dwt_visitor_topic" hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_visitor_topic/dt=$clear_date ;; "dwt_user_topic" ) hive -e "$dwt_user_topic" hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_user_topic/dt=$clear_date ;; "dwt_sku_topic" ) hive -e "$dwt_sku_topic" hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_sku_topic/dt=$clear_date ;; "dwt_activity_topic" ) hive -e "$dwt_activity_topic" hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_activity_topic/dt=$clear_date ;; "dwt_coupon_topic" ) hive -e "$dwt_coupon_topic" hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_coupon_topic/dt=$clear_date ;; "dwt_area_topic" ) hive -e "$dwt_area_topic" hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_area_topic/dt=$clear_date ;; "all" ) hive -e "$dwt_visitor_topic$dwt_user_topic$dwt_sku_topic$dwt_activity_topic$dwt_coupon_topic$dwt_area_topic" hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_visitor_topic/dt=$clear_date hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_user_topic/dt=$clear_date hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_sku_topic/dt=$clear_date hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_activity_topic/dt=$clear_date hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_coupon_topic/dt=$clear_date hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_area_topic/dt=$clear_date ;; esac

(2)增加脚本执行权限

复制代码
1
2
chmod 777 dws_to_dwt.sh

(3)执行脚本

复制代码
1
2
dws_to_dwt.sh 2022-04-11

st_30d_original_amount,
order_last_30d_final_amount,
order_count,
order_original_amount,
order_final_amount,
payment_last_1d_count,
payment_last_1d_amount,
payment_last_7d_count,
payment_last_7d_amount,
payment_last_30d_count,
payment_last_30d_amount,
payment_count,
payment_amount,
refund_order_last_1d_count,
refund_order_last_1d_amount,
refund_order_last_7d_count,
refund_order_last_7d_amount,
refund_order_last_30d_count,
refund_order_last_30d_amount,
refund_order_count,
refund_order_amount,
refund_payment_last_1d_count,
refund_payment_last_1d_amount,
refund_payment_last_7d_count,
refund_payment_last_7d_amount,
refund_payment_last_30d_count,
refund_payment_last_30d_amount,
refund_payment_count,
refund_payment_amount
from A P P . d w t a r e a t o p i c w h e r e d t = d a t e a d d ( ′ {APP}.dwt_area_topic where dt=date_add(' APP.dwtareatopicwheredt=dateadd(do_date’,-1)
)old
full outer join
(
select
province_id,
visit_count,
login_count,
order_count,
order_original_amount,
order_final_amount,
payment_count,
payment_amount,
refund_order_count,
refund_order_amount,
refund_payment_count,
refund_payment_amount
from A P P . d w s a r e a s t a t s d a y c o u n t w h e r e d t = ′ {APP}.dws_area_stats_daycount where dt=' APP.dwsareastatsdaycountwheredt=do_date’
)1d_ago
on old.province_id=1d_ago.province_id
left join
(
select
province_id,
visit_count,
login_count,
order_count,
order_original_amount,
order_final_amount,
payment_count,
payment_amount,
refund_order_count,
refund_order_amount,
refund_payment_count,
refund_payment_amount
from A P P . d w s a r e a s t a t s d a y c o u n t w h e r e d t = d a t e a d d ( ′ {APP}.dws_area_stats_daycount where dt=date_add(' APP.dwsareastatsdaycountwheredt=dateadd(do_date’,-7)
)7d_ago
on old.province_id= 7d_ago.province_id
left join
(
select
province_id,
visit_count,
login_count,
order_count,
order_original_amount,
order_final_amount,
payment_count,
payment_amount,
refund_order_count,
refund_order_amount,
refund_payment_count,
refund_payment_amount
from A P P . d w s a r e a s t a t s d a y c o u n t w h e r e d t = d a t e a d d ( ′ {APP}.dws_area_stats_daycount where dt=date_add(' APP.dwsareastatsdaycountwheredt=dateadd(do_date’,-30)
)30d_ago
on old.province_id= 30d_ago.province_id;
alter table A P P . d w t a r e a t o p i c d r o p p a r t i t i o n ( d t = ′ {APP}.dwt_area_topic drop partition(dt=' APP.dwtareatopicdroppartition(dt=clear_date’);
"

case 1 i n " d w t v i s i t o r t o p i c " ) h i v e − e " 1 in "dwt_visitor_topic" ) hive -e " 1in"dwtvisitortopic")hivee"dwt_visitor_topic"
hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_visitor_topic/dt= c l e a r d a t e ; ; " d w t u s e r t o p i c " ) h i v e − e " clear_date ;; "dwt_user_topic" ) hive -e " cleardate;;"dwtusertopic")hivee"dwt_user_topic"
hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_user_topic/dt= c l e a r d a t e ; ; " d w t s k u t o p i c " ) h i v e − e " clear_date ;; "dwt_sku_topic" ) hive -e " cleardate;;"dwtskutopic")hivee"dwt_sku_topic"
hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_sku_topic/dt= c l e a r d a t e ; ; " d w t a c t i v i t y t o p i c " ) h i v e − e " clear_date ;; "dwt_activity_topic" ) hive -e " cleardate;;"dwtactivitytopic")hivee"dwt_activity_topic"
hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_activity_topic/dt= c l e a r d a t e ; ; " d w t c o u p o n t o p i c " ) h i v e − e " clear_date ;; "dwt_coupon_topic" ) hive -e " cleardate;;"dwtcoupontopic")hivee"dwt_coupon_topic"
hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_coupon_topic/dt= c l e a r d a t e ; ; " d w t a r e a t o p i c " ) h i v e − e " clear_date ;; "dwt_area_topic" ) hive -e " cleardate;;"dwtareatopic")hivee"dwt_area_topic"
hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_area_topic/dt= c l e a r d a t e ; ; " a l l " ) h i v e − e " clear_date ;; "all" ) hive -e " cleardate;;"all")hivee"dwt_visitor_topic d w t u s e r t o p i c dwt_user_topic dwtusertopicdwt_sku_topic d w t a c t i v i t y t o p i c dwt_activity_topic dwtactivitytopicdwt_coupon_topic d w t a r e a t o p i c " h a d o o p f s − r m − r − f / w a r e h o u s e / g m a l l / d w t / d w t v i s i t o r t o p i c / d t = dwt_area_topic" hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_visitor_topic/dt= dwtareatopic"hadoopfsrmrf/warehouse/gmall/dwt/dwtvisitortopic/dt=clear_date
hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_user_topic/dt= c l e a r d a t e h a d o o p f s − r m − r − f / w a r e h o u s e / g m a l l / d w t / d w t s k u t o p i c / d t = clear_date hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_sku_topic/dt= cleardatehadoopfsrmrf/warehouse/gmall/dwt/dwtskutopic/dt=clear_date
hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_activity_topic/dt= c l e a r d a t e h a d o o p f s − r m − r − f / w a r e h o u s e / g m a l l / d w t / d w t c o u p o n t o p i c / d t = clear_date hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_coupon_topic/dt= cleardatehadoopfsrmrf/warehouse/gmall/dwt/dwtcoupontopic/dt=clear_date
hadoop fs -rm -r -f /warehouse/gmall/dwt/dwt_area_topic/dt=$clear_date
;;
esac

复制代码
1
2
3
4
(2)增加脚本执行权限

chmod 777 dws_to_dwt.sh

复制代码
1
2
3
4
(3)执行脚本

dws_to_dwt.sh 2022-04-11

复制代码
1
2

最后

以上就是欢喜心锁最近收集整理的关于数仓搭建DWT层1、DWT层作用2、访客主题3、用户主题4、商品主题5、优惠券主题6、活动主题7、地区主题8、DWT层首日数据导入脚本9、DWT层每日数据导入脚本的全部内容,更多相关数仓搭建DWT层1、DWT层作用2、访客主题3、用户主题4、商品主题5、优惠券主题6、活动主题7、地区主题8、DWT层首日数据导入脚本9、DWT层每日数据导入脚本内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部