Apache Kylin Cube 的存儲


 

 

 

 

  不多說,直接上干貨!

 

 

  簡單的說Cuboid的維度會映射為HBase的Rowkey,Cuboid的指標會映射為HBase的Value。

                      Cube映射成HBase存儲

 

 

  如上圖原始表所示:Hive表有兩個維度列year和city,有一個指標列price。如上圖預聚合表所示:我們具體要計算的是year和city這兩個維度所有維度組合(即4個cuboid)下的sum(priece)指標,這個指標的具體計算過程就是由MapReduce完成的。
如上圖字典編碼所示:為了節省存儲資源,Kylin對維度值進行了字典編碼。圖中將beijing和shanghai依次編碼為0和1。

  如上圖HBase KV存儲所示:在計算cuboid過程中,會將Hive表的數據轉化為HBase的KV形式。Rowkey的具體格式是cuboid id + 具體的維度值(最新的Rowkey中為了並發查詢還加入了ShardKey),以預聚合表內容的第2行為例,其維度組合是(year,city),所以cuboid id就是00000011,cuboid是8位,具體維度值是1994和shanghai,所以編碼后的維度值對應上圖的字典編碼也是11,所以HBase的Rowkey就是0000001111,對應的HBase Value就是sum(priece)的具體值




 


免責聲明!

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



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