Kylin 3.1.0架構

聞香識程式碼發表於2020-11-04

Kylin 3.1.0架構

背景

  1. 在OLAP分析中經常會有如下概念

事實,維度(這其實說的是事實表和維度表)
在這裡插入圖片描述

度量,指標(這說的其實都是指表的列,維度就是從哪些角度對資料做分析,需要分析檢視的維度就是度量)
在這裡插入圖片描述

cube,顧名思義,就是一個立方體,不過由於實際OLAP中,不可能只有四個維度,所以實際上是指代多維立方體。本質就是一個多維資料集,包含維度和度量。
詳情可以看我關於OLAP的一篇部落格

下鑽:從更細粒度的維度值角度探索資料(如時間維度,按天粒度查詢銷售額)
上卷:從更粗粒度的維度值角度探索資料(如時間維度,按季粒度查詢銷售額)
切片:查詢某個維度等於某個指定值時的資料子集
切塊:查詢某個維度等於某幾個指定值時的資料子集
旋轉:變換維度展現順序

kylin 架構

  1. kylin本質並不會儲存資料,也不會計算資料,但kylin整合了資料分析引擎,整合了hbase做資料儲存。
  2. 架構在這裡插入圖片描述
  3. 從上述架構可以看出
  1. kylin可以對外提供資料服務,可以rest api,也可以通過JDBC做資料訪問
  2. query engine則是做sql解析
  3. routing,這是路由層。如果是低延遲路徑,直接去cube取結果;中延遲路徑則去mapreduce.
    這一層其實是因為kylin無法應對所有的資料計算任務,這時候就需要根據需求將資料提取任務分發到不同的地方。如果可以從現成資料中拿,則將資料提取動作分發到hbase去拿,如果無法計算,則需要使用mapreduce計算。
    4.metadata,這一層是kylin自身的後設資料管理模組,因為計算結果都是儲存在hbase,為了能夠將模型跟hbase中資料關聯在一起,方便快速查詢,這時候就需要對後設資料做管理。
  4. Cube Build Engine:cube構建引擎

相關文章