專案實戰 ADS 層複購率統計

2021-10-09 16:23:45 字數 896 閱讀 2439

ads 層需要在 dws 層的資料上計算複購率,並儲存結果表。複購率可以從 dws 層的使用者購買商品明細表中進行計算。

其中品牌 id、一級品類 id、一級品類名可以從使用者購買商品明細表中直接獲取,統計月份、統計日期也可以從當前時間獲取。

剩下的購買人數、購買 2 次及以上人數、單次復購率、購買 3 次及以上人數、多次複購率,需要從使用者購買商品明細表中的當日下單數進行計算。

購買人數=count(1);購買 2 次、3 次及以上人數,可以對 user_id 進行分組,然後聚合,檢視總數即可。複購率的話,使用購買次數除以購買人數即可。

1. 在 node03 節點,/home/warehouse/sql 目錄下編寫 ads_sale_ddl.sql,建立 dws 層資料表:

vim /home/warehouse/sql/ads_sale_ddl.sql
sql 指令碼內容如下:

-- 進入資料庫

use mall;

-- 建立品牌複購率表

drop table ads_sale_tm_category1_stat_mn;

create table ads_sale_tm_category1_stat_mn

(

tm_id string comment '品牌 id ' ,

category1_id string comment '1 級品類 id ',

category1_name string comment '1 級品類名稱 ',

buycount bigint comment

專案實戰 ADS 層資料匯出

為了業務系統進行更快速的查詢,需要將 ads 層的結果資料匯出到 mysql 中,這個過程因為涉及到資料流轉,所以需要通過 etl 工具 sqoop 來進行。1.在 node02,mysql 節點的 home warehouse sql 目錄下編寫 mysql sale ddl.sql,建立與 ad...

實戰 業務邏輯層

負責處理系統的核心業務,負責對使用者定義的流程進行建模,負責資料訪問層和展示層的通訊,不能因為資料庫的變換而變化,也不能因為終端的變換而變化。bll 業務邏輯 業務邏輯的操作,包括業務處理,呼叫資料訪問,事務等。ibll 業務介面 業務邏輯層的方法對外暴露的介面和服務契約 wfactivitys 工...

專案實戰 RS

參考文章 快速使用 通過name獲取logger 通過name獲取logger,同乙個name的logger只建立乙個 mlogger logger.getlogger tag 建立filehandler物件 handler 物件從 logger 中獲取日誌資訊,並將這些資訊匯出。例如,它可將這些資...