今天感覺效率有點低,可能是太熱了
【100】
開始不懂了
https://www.bilibili.com/video/BV1rL411E7uz?t=1193.7&p=100
什么新增,什么新增和變化
【101】退單
開頭就說不適合做事務型
https://www.bilibili.com/video/BV1rL411E7uz?t=26.6&p=101
說退單是有周期性的。應該做累積型快照表
【102】6.2.4 加購事實表(周期型快照事實表,每日快照)
【103】優惠券領用事實表(累積型快照事實表)
第三類,第一類事務,第二類周期
1**)事務型事實表**
以每個事務或事件為單位,例如一個銷售訂單記錄,一筆支付記錄等,作為事實表里的一行數據。一旦事務被提交,事實表數據被插入,數據就不再進行更改,其更新方式為增量更新。
2**)周期型快照事實表**
周期型快照事實表中不會保留所有數據,只保留固定時間間隔的數據,例如每天或者每月的銷售額,或每月的賬戶余額等。
例如購物車,有加減商品,隨時都有可能變化,但是我們更關心每天結束時這里面有多少商品,方便我們后期統計分析。
3**)累積型快照事實表**
**累計快照事實表用于跟蹤業務事實的變化。**例如,數據倉庫中可能需要累積或者存儲訂單從下訂單開始,到訂單商品被打包、運輸、和簽收的各個業務階段的時間點數據來跟蹤訂單聲明周期的進展情況。當這個業務過程進行時,事實表的記錄也要不斷更新。
特點有很多時間字段
https://www.bilibili.com/video/BV1rL411E7uz?t=43.1&p=103
coalesce
https://www.bilibili.com/video/BV1rL411E7uz?t=799.0&p=103
coalesce(date_format(used_time,‘yyyy-MM-dd’),date_format(expire_time,‘yyyy-MM-dd’),‘9999-99-99’)
邏輯
new表里有就用new的,沒有就用old的
https://www.bilibili.com/video/BV1rL411E7uz?t=1359.8&p=103
【105】
Set不方便找到字段,map可以
https://www.bilibili.com/video/BV1rL411E7uz?t=1023.7&p=105
select order_id, str_to_map(concat_ws(',',collect_set(concat(order_status,'=',operate_time))),',','=') tsfrom ods_order_status_logwhere dt='2020-06-15'group by order_id