kylin 新建cube

?新建cube


維度選擇


Derived Columns:衍生維

Derived Columns 必須是在lookup table上的魁衙,可以被host column衍生出來譬淳,host column 是在fact表上的,衍生維會跟host column? 有個映射關(guān)系

衍生維不會在cuboids里径玖,要查詢衍生維媒区,kylin會先根據(jù)host column 統(tǒng)計一次锚烦,然后用衍生維的值替換host column 再做一次統(tǒng)計

添加度量


Auto Merge Thresholds:自動合并的閾值

作用:kylin會根據(jù)設置的閾值向上檢查,如果有連續(xù)的segments時間范圍超過閾值就會進行合并扩然。

例如:設置的[7days,28days]

從20170101到20170108每天構(gòu)建一次cube,當構(gòu)建20170108時,將之前連續(xù)的7個segment合并為一個segment

同樣,如果積累了最近28天的segments,就會再次merge為一個segment艘儒。如果中間有不連續(xù)的segment,將會跳過它,從下一個segment開始向上推算連續(xù)的segment個數(shù)夫偶。

Retention Threshold(保留閾值)

作用:保留最近設置閾值的cube segments個數(shù)界睁,默認是0,它會保留所有歷史構(gòu)建的cube segments。


?衍生維度優(yōu)化

? ?衍生維度(Derived Dim):當一個或者多個維度能夠從主鍵中推斷出來兵拢,那么這些維度列就稱之為衍生“Derived” 列翻斟。

? ??衍生維度(Derived Dim)優(yōu)化效果:維度表中的n個維度計算,將Cuboid從2^n 減為2说铃。

· 聚合組優(yōu)化

? ? 根據(jù)業(yè)務的維度組合访惜,劃分出具有強依賴的組合,這些組合稱之為聚合組腻扇,在聚合組內(nèi)债热,維度之間的組合會預計算,聚合組之間并不交叉預計算衙解,從而減少Cuboid的數(shù)量.

?如果有4個維度,分別為A焰枢,B蚓峦,C,D济锄,那么就會有16個Cuboid暑椰,如果AB和CD分別為聚集組的話,那么Cuboid的數(shù)量就縮減為8個荐绝。

· 強制維度

強制維度(Mandatory Dimensions):所有Cubeid中都包含的維度稱之為強制維度一汽,不包含強制維度的Cubeid不會計算。 只計算包含強制維度的Cubeid,Cubeid的數(shù)量會縮減一半召夹。 假如有三個維度A岩喷,B,C监憎,那么Cuboid就會有8個纱意,分別為ABC,AB鲸阔,BC偷霉,AC,A褐筛,B类少,C,這時將A設置為強制維度渔扎,那么就只會計算ABC硫狞,AB,AC赞警,A這四個 Cubeid妓忍。

· 層次維度

層次維度(Hierarchy Dim):某些維度之間具有上下層次關(guān)聯(lián)。 如果有三個維度A愧旦,B世剖,C 設置為層次維度,那么Cuboid數(shù)量將由2^3減為3+1笤虫。 比較適用于進行下鉆分析旁瘫,比如年月日,省市縣這種琼蚯。

· 聯(lián)合維度

聯(lián)合維度(Joint Dimension)::聯(lián)合維度酬凳,有些維度往往一起出現(xiàn),或者它們的基數(shù)非常接近(有1:1映射關(guān)系)遭庶。例如 “user_id” 和 “email”宁仔。把多個維度定義為組合關(guān)系后,所有不符合此關(guān)系的 cuboids 會被跳過計算峦睡。假如有ABC三個維度翎苫,但是在查詢的時候只會出現(xiàn)Group by A,B榨了,C煎谍,而不會出現(xiàn)Group A,Group by B龙屉,Group by A呐粘、B等等這種情況,那么就可以將A,B作岖,C設置為聯(lián)合維度

· Cube并發(fā)粒度優(yōu)化

當Segment中某個Cuboid的大小超出一定的閾值時唆垃,系統(tǒng)會將該Cuboid的數(shù)據(jù)分片到多個Hbase Region Server,從而實現(xiàn)Cuboid數(shù)據(jù)讀取的并行化鳍咱,優(yōu)化Cube的查詢速度降盹。

kylin的默認設置中

kylin.storage.hbase.region-cut-gb=5,

kylin.storage.hbase.min-region-count=1,

kylin.storage.hbase.max-region-count=500

在實際應用中(根據(jù)實際數(shù)據(jù)量調(diào)整)谤辜,可以將

kylin.storage.hbase.min-region-count=2,

kylin.storage.hbase.max-region-count=100蓄坏,

kylin.storage.hbase.region-cut-gb=1

上面設置為最小為2個分區(qū),每個分區(qū)大小為1G丑念,最多設置100個region分區(qū)窗宦。


Rowkeys: 是由維度編碼值組成叫惊⊥姿冢”Dictionary” (字典)是默認的編碼方式; 字典只能處理中低基數(shù)(少于一千萬)的維度笋婿;如果維度基數(shù)很高(如大于1千萬), 選擇 “false” 然后為維度輸入合適的長度,通常是那列的最大長度值; 如果超過最大值推正,會被截斷恍涂。請注意,如果沒有字典編碼植榕,cube 的大小可能會非常大再沧。

你可以拖拽維度列去調(diào)整其在 rowkey 中位置; 位于rowkey前面的列,將可以用來大幅縮小查詢的范圍尊残。通常建議將 mandantory 維度放在開頭, 然后是在過濾 ( where 條件)中起到很大作用的維度炒瘸;如果多個列都會被用于過濾,將高基數(shù)的維度(如 user_id)放在低基數(shù)的維度(如 age)的前面寝衫。

Mandatory Cuboids: 維度組合白名單顷扩。確保你想要構(gòu)建的 cuboid 能被構(gòu)建。

Cube Engine: cube 構(gòu)建引擎慰毅。有兩種:MapReduce 和 Spark隘截。如果你的 cube 只有簡單度量(SUM, MIN, MAX),建議使用 Spark汹胃。如果 cube 中有復雜類型度量(COUNT DISTINCT, TOP_N)婶芭,建議使用 MapReduce。

Advanced Dictionaries: “Global Dictionary” 是用于精確計算 COUNT DISTINCT 的字典, 它會將一個非 integer的值轉(zhuǎn)成 integer统台,以便于 bitmap 進行去重雕擂。如果你要計算 COUNT DISTINCT 的列本身已經(jīng)是 integer 類型啡邑,那么不需要定義 Global Dictionary贱勃。 Global Dictionary 會被所有 segment 共享,因此支持在跨 segments 之間做上卷去重操作。請注意贵扰,Global Dictionary 隨著數(shù)據(jù)的加載仇穗,可能會不斷變大。

“Segment Dictionary” 是另一個用于精確計算 COUNT DISTINCT 的字典戚绕,與 Global Dictionary 不同的是纹坐,它是基于一個 segment 的值構(gòu)建的,因此不支持跨 segments 的匯總計算舞丛。如果你的 cube 不是分區(qū)的或者能保證你的所有 SQL 按照 partition_column 進行 group by, 那么你應該使用 “Segment Dictionary” 而不是 “Global Dictionary”耘子,這樣可以避免單個字典過大的問題。

請注意:”Global Dictionary” 和 “Segment Dictionary” 都是單向編碼的字典球切,僅用于 COUNT DISTINCT 計算(將非 integer 類型轉(zhuǎn)成 integer 用于 bitmap計算)谷誓,他們不支持解碼,因此不能為普通維度編碼吨凑。

Advanced Snapshot Table: 為全局 lookup 表而設計捍歪,提供不同的存儲類型。

Advanced ColumnFamily: 如果有超過一個的COUNT DISTINCT 或 TopN 度量, 你可以將它們放在更多列簇中鸵钝,以優(yōu)化與HBase 的I/O糙臼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市恩商,隨后出現(xiàn)的幾起案子变逃,更是在濱河造成了極大的恐慌,老刑警劉巖痕届,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件韧献,死亡現(xiàn)場離奇詭異,居然都是意外死亡研叫,警方通過查閱死者的電腦和手機锤窑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嚷炉,“玉大人渊啰,你說我怎么就攤上這事∩暌伲” “怎么了绘证?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長哗讥。 經(jīng)常有香客問我嚷那,道長,這世上最難降的妖魔是什么杆煞? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任魏宽,我火速辦了婚禮腐泻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘队询。我一直安慰自己派桩,他們只是感情好,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布蚌斩。 她就那樣靜靜地躺著铆惑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪送膳。 梳的紋絲不亂的頭發(fā)上员魏,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機與錄音叠聋,去河邊找鬼逆趋。 笑死,一個胖子當著我的面吹牛晒奕,可吹牛的內(nèi)容都是我干的闻书。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼脑慧,長吁一口氣:“原來是場噩夢啊……” “哼魄眉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起闷袒,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤坑律,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后囊骤,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晃择,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年也物,在試婚紗的時候發(fā)現(xiàn)自己被綠了宫屠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡滑蚯,死狀恐怖浪蹂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情告材,我是刑警寧澤坤次,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站斥赋,受9級特大地震影響缰猴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜疤剑,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一滑绒、第九天 我趴在偏房一處隱蔽的房頂上張望胰舆。 院中可真熱鬧,春花似錦蹬挤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至误续,卻和暖如春吨悍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蹋嵌。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工育瓜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人栽烂。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓躏仇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親腺办。 傳聞我的和親對象是個殘疾皇子焰手,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容