目錄
1. 在kylin中常用的基本概念
1.1 基本概念
1.2 kylin特性
1.3 cube與計算原理分析
1.4 cuboid在hbase中的儲存結構
1.5 例項說明
2. 參考鏈結
kylin的工作原理:實質是molap(multidimensional online analytical processing) cube,即多維立方體分析。
概括的講,kylin主要解決了以下兩個問題:
其核心思想是預結算,即對多維分析中用到的度量進行預計算,計算好的結果儲存成cube並儲存到hbase,查詢時直接使用預計算的結果。
查詢下壓
cuboid計算原理分析圖
請參考這裡,介紹的非常清楚
cuboid和cube的例項說明,請參考這篇文章(講解的比較詳細)
cuboid和cube立方體示意圖
上圖展示了有3個維度的cube,每個小立方體代表乙個cuboid,其中儲存的是度量列聚合後的結果,比如蘋果在中國2023年的銷量就是乙個cuboid。
當資料量比較少時,可以直接使用rdbms執行sql,在較短時間內得到結果,但對於大資料量,比如5000萬條,rdbms的效能就滿足不了要求了,需要使用別的查詢方案,如mpp,hive。而kylin給我們提供了另外乙個思路——預計算,即空間換時間,列出使用者所有可能的查詢sql,提前處理得到查詢結果,並持久化到資料庫中,在實際查詢時,可復用之前計算的結果,速度可以達到毫秒級別。當然,使用者的查詢sql是多種多樣,無法窮盡的,因此kylin假設使用者查詢侷限於針對不同的維度組合,得到有限個指標的聚合結果。在實際生產中,這個假設符合一般的使用者使用場景,所以,kylin僅遍歷所有可能的維度組合,求得對應的cuboid,最終作為乙個cube供使用者查詢。
以hive和mapreduce為例:
根據star圖,呼叫hive,建立一張寬表。
對寬表中的維度列去除,並存到hdfs中
為去重後的維度列建詞典
讀取寬表資料,計算base cuboid
基於base cuboid,計算次級 cuboid
將cuboid批量匯入hbase中
兩個優化思路
參考這裡
?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
基本概念 C 基本概念
由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...
Eclipse中的基本概念
eclipse中的基本概念 1 display 應用程式一般只需要乙個display物件,該物件實際上是乙個swt物件,代表了底層圖形系統的實現。display的主要任務是事件處理,它負責從作業系統的事件佇列中讀取事件,傳遞給rcp的事件 以便完成具體的任務。需要注意的是,display物件不代表應...
Caffe中的基本概念
一 caffe模組包括四個部分 blob caffe中資料的封裝,用於layer上流動 blob四維連續陣列,通常表示為 n,k,w,h 是基礎的資料結構。可表示輸入輸出資料,也可表示引數資料 2.layer 輸入層,輸出層,神經網路層的抽象 layer網路基本單元,每一層定義了三種運算 初始化網路...