kylin實操入門

先創建一個project

 

然後選擇創建的project

 

 

然後點擊data Source下的load Hive Table按鈕

填寫需要的hive表的全稱(庫名.表名),完成後點擊Sync按鈕就是數據導入

 

然後創建一個新的Model

Model Name只能是英文

 

選擇事實表(Fact Table),可以通過 add lookup Table添加其他表進行關聯

可以是inner join 也可以是left join,然後進行join條件的添加

 

接下來選擇會用作維度和度量的列。這裏只是選擇一個範圍,不代

表這些列將來一定要用作Cube的維度或度量,你可以把所有可能會用到

的列都選進來,後續創建Cube的時候,將只能從這些列中進行選擇。

選擇維度列時,維度可以來自事實表或維度表,如圖所示。。

 

選擇度量列時,度量只能來自事實表,如圖2-7所示

 

 

最後一步,是爲模型補充分割時間列信息和過濾條件。如果此模型

中的事實表記錄是按時間增長的,那麼可以指定一個日期/時間列作爲

模型的分割時間列,從而可以讓Cube按此列做增量構建

過濾(Filter)條件是指,如果想把一些記錄忽略掉,那麼這裏可以設

置一個過濾條件。Kylin在向Hive請求源數據的時候,會帶上此過濾條件。

 

最後,單擊“Save”保存此數據模型,隨後它將出現在“Models”的列表中。

 

 

創建cube

單擊“New”,選擇“New Cube”,會開啓一個包含若干步驟的嚮導。

 

第一頁,選擇要使用的數據模型,併爲此Cube輸入一個唯一的名稱(必需的)和描述(可選的)(如圖2-9所示);這裏還可以輸入一個郵件通知列表,用於在構建完成或出錯時收到通知。如果不想接收處於某些狀態的通知,那麼可以從“Notification Events中將其去掉。

第二頁,選擇Cube的維度。可以通過以下兩個按鈕來添加維度。

·“Add Dimension”:逐個添加維度,可以是普通維度也可以是衍生(Derived)維度。

·“Auto Generator”:批量選擇並添加,讓Kylin自動完成其他信息。使用第一種方法的時候,需要爲每個維度起個名字,然後選擇表和列

 

 

如果是衍生維度的話,則必須是來自於某個維度表,一次可以選擇多個列;由於這些列值都可以從該維度表的主鍵值中衍生出來,所以實際上只有主鍵列會被Cube加入計算。而在Kylin的具體實現中,往往採用事實表上的外鍵替代主鍵進行計算和存儲。但是在邏輯上可以認爲衍生列來自於維度表的主鍵。

需要注意的是:維度的選擇都是在之前新建模型的時候設計好的,只能減少,不能增加

 

 

使用第二種方法的時候,Kylin會用一個樹狀結構呈現出所有的列,用戶只需要勾選所需要的列即可,Kylin會自動補齊其他信息,從而方便用戶的操作(如圖2-12所示)。請注意,在這裏Kylin會把維度表上的列都創建成衍生維度,這也許不是最合適的,在這種情況下,請使用第一種方法。

 

第三頁,創建度量。Kylin默認會創建一個Count1)的度量。可以單擊“+Measure”按鈕來添加新的度量。Kylin支持的度量有:SUMMINMAXCOUNTCOUNT DISTINCTTOP_NRAW等。請選擇需要的度量類型,然後再選擇適當的參數(通常爲列名)。

重複上面的步驟,創建所需要的度量。Kylin可以支持在一個Cube中添加多達上百個的度量;添加完所有度量之後,單擊“Next”

 

 

 

第四頁,是關於Cube數據刷新的設置。在這裏可以設置自動合併的閾值、數據保留的最短時間,以及第一個Segment的起點時間(如果Cube有分割時間列的話)

第五頁,高級設置。在此頁面上可以設置聚合組和Rowkey

 

 

Cube配置參數。和其他Hadoop工具一樣,Kylin使用了很

多配置參數以提高靈活性,用戶可以根據具體的環境、場景等配置不同

的參數進行調優。Kylin全局的參數值可在conf/kylin.properties文件中進行

配置;如果Cube需要覆蓋全局設置的話,則需要在此頁面中指定。單

擊“+Property”按鈕,然後輸入參數名和參數值,如圖2-18所示,指

定“kylin.hbase.region.cut=1”,這樣此Cube在存儲的時候,Kylin將會爲每個

HTable Region分配1GB來創建一個HTable Region

 

然後單擊Next跳轉到最後一個確認頁面,如有修改,則單擊“Prev”

鈕返回以修改,最後再單擊“Save”按鈕進行保存,一個Cube就創建完成了。

創建好的Cube會顯示在“Cubes”列表中,如要對Cube的定義進行修

改,只需單擊“Edit”按鈕就可以進行修改。也可以展開此Cube行以查看更

多的信息,如JSON格式的元數據、訪問權限、通知列表等

 

 

構建cube

 

Cube的構建包含如下步驟,由任務引擎來調度執行。

1)創建臨時的Hive平表(從Hive讀取數據)。

2)計算各維度的不同值,並收集各Cuboid的統計數據。

3)創建並保存字典。

4)保存Cuboid統計信息。

5)創建HTable

6)計算Cube(一輪或若干輪MapReduce)。

7)將Cube的計算結果轉成HFile

8)加載HFileHBase

9)更新Cube元數據。

10)垃圾回收

 

進行構建操作

 

 

監控構建過程

歷史數據刷新(只針對增量構建的cube),刷新完成之後才能進行新數據查詢,否則查到的就是舊數據

 

 

多個segment,儘量進行合併,優化查詢性能和存儲性能

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章