Kylin入門之基礎解析
阿新 • • 發佈:2018-12-30
原文來自:http://bigdataer.net/?p=292
1.概述
kylin是一款開源的分散式資料分析工具,基於hadoop之上的sql查詢介面,能支援超大規模的資料分析。響應時間在亞秒級別,其核心是預計算,計算結果存放在hbase中。
2.特性
- 可擴充套件超快OLAP引擎:
Kylin是為減少在Hadoop上百億規模資料查詢延遲而設計 - Hadoop ANSI SQL 介面:
Kylin為Hadoop提供標準SQL支援大部分查詢功能 - 互動式查詢能力:
通過Kylin,使用者可以與Hadoop資料進行亞秒級互動,在同樣的資料集上提供比Hive更好的效能 - 多維立方體(MOLAP Cube):
使用者能夠在Kylin裡為百億以上資料集定義資料模型並構建立方體 - 與BI工具無縫整合:
Kylin提供與BI工具,如Tableau,的整合能力,即將提供對其他工具的整合 - 其他特性:
Job管理與監控
壓縮與編碼
增量更新
利用HBase Coprocessor
基於HyperLogLog的Dinstinc Count近似演算法
友好的web介面以管理,監控和使用立方體
專案及立方體級別的訪問控制安全
支援LDAP
3.相關概念
3.1 Fact Table(事實表):
事實表是指包含了大量不冗餘資料的表,其列一般有兩種,分別為包含事實資料的列,包含維表foreign key的列。
3.2 Lookup table:包含了對事實表的某些列擴充說明的欄位。
3.3 Dimenssion Table
由fact table和lookup table 抽象出來的表,包含了多個相關的列,提供對資料不同維度的觀察,其中每列的值的數目稱為cardinatily。
3.4 model:用來定義使用者需要使用的hive表名,及所包含的維度列、度量列、partition列和date格式。
3.5 cube:用來定義某具體查詢時會涉及到的維度列及相互之間的關係(如層級關係)、度量列的具體型別(如max,min,sum)等,一個model下可存在多個cube。