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預...