廣告-offline_warehouse_04_double_happy

一致性維度:
	1.很重要
	2、在維度設計的時候一定要保證維度的一致性
	
	eg:
		兩個不同的業務:
			1.流量的   item pv uv
			2.交易的  item  gmv 
			數據交叉探查:
				將不同業務域 的 商品維度的數據 結合到一塊 進行展示!!
				即:
					item  pv uv gmv   這是比較常見的

那麼一致性維度?
	1.商品維度 對應:
		1.流量域    : a b c  三個屬性
		2.交易域   :b c  e f g h 四個屬性
    這個時候:
    	只有b c  可能   兩個商品數據 可能不一致的情況  就是說 
    	這兩個域 數據可能 不能放在一塊來看 
    2.時間維度:
    	1.流量域   : timestamp
    	2.交易域 :  yyyy-MM-dd  
    	這種 進行數據交叉探查的時候 會導致 不一致   
    	所以維度一致 是很重要的 

那麼這些問題 該如何解決??如何保證維度的一致性??
	1.共享維度表  (就是 你不同的域 建自己的維度的時候 要注意 一致性維度)

維度 整合與拆分:

	整合:
		1. 表名、字段名 命名規範統一
		2. 字段類型的統一
		3. 業務含義相同的表 進行統計 
		       1.高內聚
		       2.低耦合
		       eg:
		       	1.把源端 數據形式 差異較小的表進行整合
		       	2.把源端 數據形式 差異很大的表進行拆分
		     				1.主從表設計:
		     					1.主表:
		     						1.主要業務常用的維度屬性 
		     					2.從表:
		     						1.業務中不常用的屬性
		                    2.直接合並:
		                    	 eg:
		                    	 	1.垂直合併:
		                    	 		1.eg:
		                    	 			低價區間 這個字段  依據 廣告樣式 和 價格來定的
		                    	 			就是 不需要 把 低價區間 按照不同的 廣告樣式 創建不同的字段
		                    	 			合在一個字段裏
		                    	 			
									2.水平合併
										就是 上面的 不同廣告樣式 不同的低價區間字段
										會有問題:
											會有 null 

拆分:
	1.水平拆分:
		eg:
			維度設計可能遇到的問題:
				1.某些維表屬性的來源表 產出數據的時間比較早
				  某些維表屬性的來源表 產出數據的時間比較晚	 
			    2.某些維表 字段 熱度比較高	
			       某些維表 字段 熱度比較低 
			    3.某些維表 字段  經常會變化
			       某些維表 字段  不會變化 穩定

      這三個場景 有什麼好的解決方案呢??
      	1.主從表設計

      設計原則:
      	1.擴展性
      	2.易用性
      	3.效率
    粒度方面也要考慮! 粒度不一樣的字段 就不要放在一張表 !    

數據方面

歷史數據的歸檔:
	1.歸檔策略:
		1.通過設置數倉表的生命週期實現
			1.ods    3天
			2.dwd dws dim  3個月
			3.report  歷史全部保留
			4.增量表 歷史全部保留
	
緩慢漸變維:
    1.看下面的圖

在這裏插入圖片描述

1.當帽子 類目發生變化  變成  帽子類

在這裏插入圖片描述

1.處理方式?
	1.重寫 維度值 

在這裏插入圖片描述

第二種處理方式:
	1.插入新的維度行  (上面的圖片 少了  商品key 我就不改了)

在這裏插入圖片描述

業務需求 :
	eg:
		將6月所有的數據 歸到老的類目

有什麼問題??
	1. 重寫維度 方式 做不到 !!  因爲類目全 變了
	2. 插入新的維度 方式  做不到!!!  實際上可以做到 where 對吧 很麻煩
	    eg:
	    	你依照 商品ID 去關聯 發現 一個商品 id 對應兩個 類目 
	    	或者 依據 商品key 關聯  再where 也可以 (畢竟 商品key 是唯一的)


第三種方式:
	1.新增維度列

在這裏插入圖片描述

好處:
	1.數據不會重複
	2. 統計方便
			想依據什麼類目統計 選就可以了
快照維表:
	快照:就是 當時的 狀態   某個時間點的狀態
    快照的週期:多久去獲取一次數據 
					eg: 1天、
    
  按天獲取快照 該如何獲取和構建???
  	1.按天 進行數據抽取即可
  	注意:
  		1.抽取的是全量抽取  
  			creattime     updatetime
  			eg:
  				抽取 20200627  凌晨1點 抽取   到0627 24:點 
  				createtime 小於 20200627 加上 updatetime 小於20200627 的數據
  		 		放入 hive dt=20200626   
    就可以達到按天構建全量表的 策略!

問題:
	1.數據量達到一定程度 全量抽取 絕對不行!!這纔是1張表 n張表 是不可取的 !!
    2.抽取性能 業務 庫壓力很大

該如何解決呢?
	1.增量抽取 + merge 
	2.拉鍊表

         
	
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章