kylin-cube存儲結構


前言

本篇文章通過圖文的方式分析不同維度組合下的cube在hbase中的存儲結構

需要聲明的是,kylin不存原始數據,存儲cube

 

全維度構建

假設一張表有3個字段name,age,sex,那么當通過kylin構建這張表的cube時,hbase的表結構如下所示。注意本示例沒有度量字段,value表示記錄條數累計,代表count(*),度量如果存在那么也是存儲在value的位置,可以手動配置cf。

通過圖1很明顯的可以看到,kylin將每個維度的所有基數都枚舉了出來,並通過組合的方式構建出hbase的rowkey,另外將組合對應的記錄數做預統計保存在value中,對應hbase表中的一個cf:c。

  

圖1

 

當維度基數很大的時候,那么構建cube會稱為災難,所以kylin提供了cube的組合模式來減少cube的總維度組合。這里相關概念可以參考《kylin介紹》,下面直接對不同的模式進行案例分析。

 

aggregate group

意思是多少幾個維度可以任一組合

假設圖1中的cube配置aggregate group為2,那么構建出的cube相比全維度組合構建剪去了3個維度組合的部分,參數圖2

 

圖2

 

mandatory

假設圖1中的維度name是必要維度,那么構建出的hbase結構參考圖3

 

圖3

joint

假設圖1中name和sex維度是joint關系,那么構建出的hbase結構如圖4

 

圖4

 

Hierarchy

繼承關系比較好理解,這里就不展示了: )


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM