kylin的rowkey優化之按維度分片

2022-06-24 02:09:07 字數 335 閱讀 5258

我們知道,系統會對cuboid的資料進行分片處理。

但是預設的分片策略是隨機的,如果group by a,b 的查詢命中了某個cuboid,但是a=1 and b=1 的兩條資料在不同的機器上儲存,

那就要將這兩條資料返回到儲存引擎的driver(hbase裡是coprocessor),再根據邏輯做聚合。

這樣就產生了乙個資料的優化空間。

如果我們將所有a 和b 值相同的資料都存在一台機器上,

那麼我們就可以在返回driver的時候,先在本地進行聚合。這樣不但節省了返回的資料量,也利用了各個機器的計算資源,解放了driver端的單台計算。

這個分片方式就是按維度分片

kylin構建cube優化

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

Kylin 的優化以及使用總結

計算cube的儲存代價以及計算代價都是比較大的,傳統olap的維度 的問題kylin也一樣會遇到。kylin提供給使用者一些優化措施,在一定程度上能降低維度 的問題 cube 優化 hierachy dimension,一系列具有層次關係的dimension組成乙個hierachy,比如年 月 日組...

Kylin實戰 建立cube的優化

背景 kylin的維度組合優化 1 mandatory維度 2 hierarchy維度 3 derived維度 4 聯合維度 kylin的rowkey優化 1 編碼 2 順序 3 分片 了解olap cube的人都會知道,建立cube的過程中往往會出現 維度 問題。kylin是典型的multidim...