日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Apache Kylin权威指南1.3 Apache Kylin的工作原理

發(fā)布時間:2025/3/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Apache Kylin权威指南1.3 Apache Kylin的工作原理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.3 Apache Kylin的工作原理


Apache Kylin的工作原理本質(zhì)上是MOLAP(Multidimensional Online Analytical Processing)Cube,也就是多維立方體分析。這是數(shù)據(jù)分析中相當經(jīng)典的理論,在關(guān)系數(shù)據(jù)庫年代就已經(jīng)有了廣泛的應用,下面將對其做簡要介紹。

1.3.1 維度和度量簡介

在說明MOLAP Cube之前需要先介紹一下維度(Dimension)和度量(Measure)這兩個

概念。

簡單來講,維度就是觀察數(shù)據(jù)的角度。比如電商的銷售數(shù)據(jù),可以從時間的維度來觀察(如圖1-2的左側(cè)所示),也可以進一步細化,從時間和地區(qū)的維度來觀察(如圖1-2的右側(cè)所示)。維度一般是一組離散的值,比如時間維度上的每一個獨立的日期,或者商品維度上的每一件獨立的商品。因此統(tǒng)計時可以把維度值相同的記錄聚合在一起,然后應用聚合函數(shù)做累加、平均、去重復計數(shù)等聚合計算。

?

圖1-2 維度和度量的例子

度量就是被聚合的統(tǒng)計值,也是聚合運算的結(jié)果,它一般是連續(xù)的值,如圖1-2中的銷售額,抑或是銷售商品的總件數(shù)。通過比較和測算度量,分析師可以對數(shù)據(jù)進行評估,比如今年的銷售額相比去年有多大的增長,增長的速度是否達到預期,不同商品類別的增長比例是否合理等。

1.3.2 Cube和Cuboid

有了維度和度量,一個數(shù)據(jù)表或數(shù)據(jù)模型上的所有字段就可以分類了,它們要么是維度,要么是度量(可以被聚合)。于是就有了根據(jù)維度和度量做預計算的Cube理論。

給定一個數(shù)據(jù)模型,我們可以對其上的所有維度進行組合。對于N個維度來說,組合的所有可能性共有2N種。對于每一種維度的組合,將度量做聚合運算,然后將運算的結(jié)果保存為一個物化視圖,稱為Cuboid。所有維度組合的Cuboid作為一個整體,被稱為Cube。所以簡單來說,一個Cube就是許多按維度聚合的物化視圖的集合。

下面來列舉一個具體的例子。假定有一個電商的銷售數(shù)據(jù)集,其中維度包括時間(Time)、商品(Item)、地點(Location)和供應商(Supplier),度量為銷售額(GMV)。那么所有維度的組合就有24=16種(如圖1-3所示),比如一維度(1D)的組合有[Time]、[Item]、[Location]、[Supplier]4種;二維度(2D)的組合有[Time, Item]、[Time, Location]、[Time、Supplier]、[Item, Location]、[Item, Supplier]、[Location, Supplier]6種;三維度(3D)的組合也有4種;最后零維度(0D)和四維度(4D)的組合各有1種,總共就有16種組合。

?

圖1-3 一個四維Cube的例子

計算Cuboid,即按維度來聚合銷售額。如果用SQL語句來表達計算Cuboid [Time, Loca-tion],那么SQL語句如下:

select Time, Location, Sum(GMV) as GMV from Sales group by Time, Location

將計算的結(jié)果保存為物化視圖,所有Cuboid物化視圖的總稱就是Cube。

1.3.3 工作原理

Apache Kylin的工作原理就是對數(shù)據(jù)模型做Cube預計算,并利用計算的結(jié)果加速查詢,具體工作過程如下。

1)指定數(shù)據(jù)模型,定義維度和度量。

2)預計算Cube,計算所有Cuboid并保存為物化視圖。

3)執(zhí)行查詢時,讀取Cuboid,運算,產(chǎn)生查詢結(jié)果。

由于Kylin的查詢過程不會掃描原始記錄,而是通過預計算預先完成表的關(guān)聯(lián)、聚合等復雜運算,并利用預計算的結(jié)果來執(zhí)行查詢,因此相比非預計算的查詢技術(shù),其速度一般要快一到兩個數(shù)量級,并且這點在超大的數(shù)據(jù)集上優(yōu)勢更明顯。當數(shù)據(jù)集達到千億乃至萬億級別時,Kylin的速度甚至可以超越其他非預計算技術(shù)1000倍以上。

總結(jié)

以上是生活随笔為你收集整理的Apache Kylin权威指南1.3 Apache Kylin的工作原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。