大資料實戰(五十七):電商數倉(四十)之系統業務資料倉庫(十三)付費使用者率
阿新 • • 發佈:2020-08-23
1 DWS層
使用付費使用者數以及新增使用者表作為資料來源
2 ADS層
2.1 建表語句
drop table if exists ads_pay_user_ratio; create external table ads_pay_user_ratio ( dt string comment '統計日期', pay_count bigint comment '總付費使用者數', user_count bigint comment '總使用者數', pay_count_ratio decimal(10,2) COMMENT '付費使用者比率' ) COMMENTView Code'付費使用者率表' stored as parquet location '/warehouse/gmall/dws/ads_pay_user_ratio';
2.2匯入資料
需求--付費使用者率---------------------
使用者: user_id!=mid_id
假如現在每人都用自己的手機(裝置)登入自己的帳號!user_id=mid_id
付費使用者率: 付費的使用者數 / 所有使用者數
-----------------------------相關表---------------------
ads_pay_user_count: 截至到今天所有的付費使用者數
dws_user_info: 使用者表,統計當前的使用者數
-----------------------------思路-----------------------
-----------------------------SQL------------------------
insert INTO TABLE ads_pay_user_ratio
SELECT
'2020-02-16',pay_count,user_count,
cast(pay_count/user_count*100 as decimal(10,2))
from
sum(pay_count) pay_count
from ads_pay_user_count
where dt<='2020-02-16') t1
join
(SELECT
count(*) user_count
from dwd_user_info
where dt='2020-02-16') t2