Kylin中的基本概念解釋

2021-10-10 09:11:45 字數 1365 閱讀 7207

目錄

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網路基本單元,每一層定義了三種運算 初始化網路...