Apache Kylin是2013年由eBay 在上海的一箇中國工程師團隊發起的、基於Hadoop大數據平臺的開源 OLAP引擎,它採用多維立方體預計算技術,利用空間換時間的方法,把不少分鐘級別乃至小時級別的大數據查詢速度一會兒提高到了亞秒級別,極大地提升了數據分析的效率,填補了業界在這方面的空白。該引擎爲超大規模數據集上的交互式大數據分析打開了大門。web
社區版kylin下載地址:https://archive.apache.org/dist/kylin/ ,
本次測試使用https://archive.apache.org/dist/kylin/apache-kylin-2.5.0/
sql
解壓shell
tar -zxvf apache-kylin-2.5.0-bin-cdh57.tar.gz -C /usr/local
cd /usr/local
mv apache-kylin-2.5.0-bin/ kylin
配置環境變量apache
vim /etc/profile
----
### kylin ####
export KYLIN_HOME=/usr/local/kylin
PATH=$PATH:$HOME/bin:$KYLIN_HOME/bin
---
source /etc/profile
驗證vim
cd /usr/local/kylin/bin
./check-env.sh
啓動kylinbash
./kylin.sh start
A new Kylin instance is started by root. To stop it, run 'kylin.sh stop'
Check the log at /usr/local/kylin/logs/kylin.log
Web UI is at http://<hostname>:7070/kylin
出現上面信息表示啓動成功!
app
Kylin 提供了一個建立樣例 Cube 腳本;腳本會建立五個樣例 Hive 表。框架
運行sample.sh導入官方測試數據工具
cd /usr/local/kylin/bin
./sample.sh
輸出oop
Sample cube is created successfully in project 'learn_kylin'.
Restart Kylin Server or click Web UI => System Tab => Reload Metadata to take effect
這句話的意思是 例子cube已成成功建立在了 工程名稱叫'learn_kylin'裏面了
重啓kylin或者經過webUI => System選項卡=> 從新導入元數據信息
重啓kylin
cd /usr/local/kylin/bin
./kylin.sh stop
./kylin.sh start
或從新刷新kylin的元數據
hive> select * from kylin_sales limit 5;
OK
0 2012-12-14 Others 88750 0 11 36.2828 4 10000349 10002313 ANALYST Beijing
1 2012-08-28 Others 175750 0 13 23.8563 20 10000927 10004376 ANALYST Beijing
2 2012-02-16 ABIN 148324 15 13 88.3418 18 10000005 10006710 ADMIN Shanghai
3 2013-10-19 FP-non GTC 37831 0 13 47.3015 3 10000209 10003717 ANALYST Beijing
4 2012-10-22 Others 140746 100 11 83.454 16 10000154 10006076 ADMIN Shanghai
用默認的用戶名和密碼 ADMIN/KYLIN 登錄 Kylin 網站,選擇 project 下拉框(左上角)中的 learn_kylin 工程;
查看導入的信息 => 點擊最上面選項卡 Model
選擇名爲 kylin_sales_cube 的樣例 Cube,點擊 「Actions」 -> 「Build」,選擇一個在 2014-01-01 以後的結束日期(覆蓋全部的 10000 樣例記錄);
選擇數據分區範圍
點擊 「Insight」 標籤,執行 SQLs,例如:
select part_dt, sum(price) as total_sold, count(distinct seller_id) as sellers from kylin_sales group by part_dt order by part_dt
Kylin執行上面語句用時:0.15s
您能夠驗證查詢結果且與 Hive 的響應時間進行比較;
Hive執行一樣語句用時:88.271s
多表關聯查詢,速度依然很快,查詢下面多表關聯語句,耗時0.66秒。
SELECT sum(KYLIN_SALES.PRICE) AS price_sum,
KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME,
KYLIN_CATEGORY_GROUPINGS.CATEG_LVL2_NAME
FROM KYLIN_SALES
INNER JOIN KYLIN_CATEGORY_GROUPINGS ON KYLIN_SALES.LEAF_CATEG_ID = KYLIN_CATEGORY_GROUPINGS.LEAF_CATEG_ID
AND KYLIN_SALES.LSTG_SITE_ID = KYLIN_CATEGORY_GROUPINGS.SITE_ID
GROUP BY KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME,
KYLIN_CATEGORY_GROUPINGS.CATEG_LVL2_NAME
ORDER BY KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME ASC,
KYLIN_CATEGORY_GROUPINGS.CATEG_LVL2_NAME DESC
Kylin還提供了圖表工具