Apache頂級項目介紹系列5 - Kylin

Apache頂級項目介紹5,我們迎來的中國自己的開源,來自本土eBay的頂級項目Kylin。神馬?沒聽過? 別急,放心,Apache的頂級項目各個都身負絕技。

有人問,爲什麼突然介紹Kylin,呃,有小夥伴熱情的提及的Kylin,希望來一篇介紹,本人之前有關注瞭解過,但沒有深入研究過,所以我們先學現賣,符合入門介紹篇。

Kylin(麒麟),由eBay研發並貢獻並於2014年10月開源,並於當年11月成爲

Apache孵化器項目,是第一個主要由中國團隊完整貢獻給Apache的項目。去年2015年12月,Apache基金會ASF正式批准Kylin爲頂級項目。其發展之快可謂迅猛,搭上了基於大數據的OLAP快車,同時也感慨開源之偉大與貢獻.

 

老樣子,一言已概之,Kylin官網(不敢恭維啊,文檔宣傳也要做做啊)介紹說,Kylin是一個開源分佈式分析引擎,提供了基於Hadoop的超大型數據集(TB/PB級別)的SQL接口以及多維度的OLAP分佈式聯機分析。

上架構圖:

 

可以看到中華文化之麒麟,贊一下!很清晰的架構圖,底層存儲使用HBase, 數據輸入以及Cube Building基於Hive, 中間數據存儲HDFS, On Top of 核心引擎之上,提供了REST API, SQL Based Toll / JDBC/ODBC等。右邊還有其核心基於HBase的低延遲OLAP Cube;什麼叫低延遲,Kylin官方數據給出數百億行數據查詢延時需要保持在亞秒級別!Niubility!其實得益於HBase.

官網給出了幾個簡單步驟作爲事例:

1.從star schema中識別一組Hive表

2.基於Hive表,offline batch構建cube

3.使用sql或者REST API, JDBC, ODBC查詢

Kylin平臺的設計思路其實並非全新,在過去關係數據庫大行其道之日早有,簡單來講其思路就是把預先計算完成的結果保存起來以備分析查詢, 利用所有可能緯度組合爲每個層次生成cuboid(基本方體),又或是在不同層次上對全部指數進行計算。

科普一下,cube作爲核心概念,英文叫多維立方體,cube好比一個座標系,每個Dimension代表一個座標系,其每個點的對應值需要從相對應每一個座標軸取值去獲取,這個點cube中稱作cell。

cube的基本概念:緯度於度量

緯度Dimension: 緯度提供了分類,表示一類分析角度,緯度,如時間,產品,地域等。

度量Measure:表示聚合分析的數字信息,其集合構成另一個特殊緯度,如數量,金額等。

 

Kylin的一個核心算法思想:一個n緯的完全Cube,1個n緯子立方體(Cuboid),n個(n-1)緯cuboid, n*(n-1)/2個(n-2)緯cuboid,n個緯cuboid,1個0緯cubid,總共2^n個字立方體組成;暈否?

舉例來說,group by a, b結果,可以基於group by a,b,c的結果,通過去掉c後聚合得來,這樣可以減少重複計算,當0緯度的cuboid計算出來的時候,真個

Cube的計算就大功告成!

拓撲圖:

核心思想,從關係型到key-value。當Hive中數據規模超過百億,萬億水平,一些簡單的問題如查詢2015年銷售額等就會帶來巨大的表掃描,時間也會無法接受。所以cube完全進行預計算,並對結果加以存儲。來個術語叫做:

Relational to Key-Value, KV.

Kylin正是構建在這套理論之上,並且充分借用發揮Hadoop生態系統的威力。

1.從Hive中讀取數據(HDFS)

2.運行offline job Map/Reduce實現預計算處理

3.將運算結果cube保存到HBase

4.藉助Zookeeper進行任務協調

算法中充分利用了MapReduce的能力,處理中間的複雜排序以及shuffle。其中對HDFS操作較多,每一層的key-value都需要寫到hdfs,所有計算結束後需要將其轉成HBase的HFile格式並導入。

好了,看看Kylin的容貌以及如何創建cube吧:

 

 

呃,顏值一般般,恰如麒麟啊?

創建cube:

1.創建項目

2.導入hive

3.創建數據模型

4.創建cube

包括cube info,dimensions,measures等等。

5. offline job

6. Tableau報表集成

 

 

Kylin已經在eBay內部生產使用驗證,處理其內部龐大數據集。性能優勢明顯。未來應該會繼續支持更多Hadoop, Spark生態圈,提供快速實時OLAP,以及更多BI工具整合。

好了,我們先到這裏了,感謝前eBay參與開發使用Kylin的資深專家的指導與探討。鑑於現學現賣,各位極客們包涵。我們下一篇繼續大數據三劍客!!!

 

公衆號: 技術極客TechBooster

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