1. 程式人生 > >Kylin入門之基礎解析

Kylin入門之基礎解析

原文來自:http://bigdataer.net/?p=292

1.概述

kylin是一款開源的分散式資料分析工具,基於hadoop之上的sql查詢介面,能支援超大規模的資料分析。響應時間在亞秒級別,其核心是預計算,計算結果存放在hbase中。
kylin架構圖

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。