Kylin 增量構建

2021-10-12 07:10:32 字數 2868 閱讀 3122

segment示意圖

乙個cube,可以包含多個cuboid,而segment是指定時間範圍的cube,可以理解為cube的分割槽。對應就是hbase中的一張表。該表中包含了所有的cuboid。

例如:以下為針對某個cube的segment

segment名稱

分割槽時間

hbase表名

201910110000000-201910120000000

20191011

kylin_41z8123

201910120000000-201910130000000

20191012

kylin_5ab2141

201910130000000-201910140000000

20191013

kylin_7c1151

201910140000000-201910150000000

20191014

kylin_811680

201910150000000-201910160000000

20191015

kylin_a11ad1

全量構建

增量構建

每次更新時都需要更新整個資料集

每次只對需要更新的時間範圍進行更新,因此離線計算量相對較小

查詢時不需要合併不同segment的結果

查詢時需要合併不同segment的結果,因此查詢效能會受影響

不需要後續的segment合併

累計一定量的segment之後,需要進行合併

適合小資料量或全表更新的cube

適合大資料量的cube

增量構建cube

對於小資料量的cube,或者經常需要全表更新的cube,使用全量構建需要更少的運維精力,以少量的重複計算降低生產環境中的維護複雜度。而對於大資料量的cube,例如,對於乙個包含兩年歷史資料的cube,如果需要每天更新,那麼每天為了新資料而去重複計算過去兩年的資料就會變得非常浪費,在這種情況下需要考慮使用增量構建

2、增量構建過程

);屬性

值url

請求方式

putrequestbody(json字串)

postman示意圖

kylin構建cube優化

下面通過對kylin構建cube流程的分析來介紹cube優化思路。kylin會在cube構建的第一步先構建一張hive的中間表,該錶關聯了所有的事實表和維度表,也就是一張寬表。優化點 1.hive表分割槽優化,在構建寬表的時候,kylin需要遍歷hive表,事實表和維度表如果是分割槽表,那麼會減少遍...

kylin套 kylin 系列(一)安裝部署

kylin 系列 一 安裝部署 一 環境說明 1.1 版本選擇 軟體名稱 版本jdk 1.8hadoop hadoop2.6.0 cdh5.10 zookeerer 3.4.5 hbase hbase1.2.0 cdh5.10 hive hive1.2.0 cdh5.10 kafka kafka0....

Kylin工作原理

1.維度和度量 維度 觀察資料的角度,一般是一組離散的值,通常是資料記錄的乙個屬性。度量 被聚合的統計值,也是聚合運算的結果,一般是連續的值 基於資料所計算出來的考量值,通常是乙個數值。在乙個sql查詢中,group by的屬性通常就是維度,而所計算的值則是度量。2.工作原理 對資料模型做cube預...