分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例
原文地址:http://lxw1234.com/archives/2016/04/643.htm
Apache Kylin是一個開源的分布式分析引擎,提供Hadoop之上的SQL查詢接口及多維分析(OLAP)能力以支持超大規(guī)模數(shù)據(jù),最初由eBay 開發(fā)并貢獻至開源社區(qū)。它能在亞秒內(nèi)查詢巨大的Hive表。
kylin
Kylin OLAP引擎基礎(chǔ)框架,包括元數(shù)據(jù)(Metadata)引擎,查詢引擎,Job引擎及存儲引擎等,同時包括REST服務器以響應客戶端請求;
支持額外功能和特性的插件;
與調(diào)度系統(tǒng),ETL,監(jiān)控等生命周期管理系統(tǒng)的整合;
在Kylin核心之上擴展的第三方用戶界面;
官網(wǎng)地址:http://kylin.apache.org/
提供了主要功能及使用的中文文檔。
Kylin的架構(gòu)特性
可擴展的超快OLAP引擎,提供標準SQL查詢接口
支持單機或集群部署,為減少在Hadoop上百億規(guī)模數(shù)據(jù)查詢延遲而設(shè)計;
提供標準SQL接口,滿足Hadoop之上的大部分分析查詢需求。
交互式查詢能力,多維立方體(MOLAP Cube)
用戶能夠在Kylin里為百億以上數(shù)據(jù)集定義數(shù)據(jù)模型并構(gòu)建立方體。
與BI工具及其他應用整合
提供JDBC及ODBC驅(qū)動,與BI工具整合。
其他特性
壓縮與編碼;
增量更新;
利用HBase Coprocessor;
基于HyperLogLog的Dinstinc Count近似算法;
友好的web界面以管理,監(jiān)控和使用立方體;
項目及立方體級別的訪問控制安全;
支持LDAP;
Kylin的安裝部署
下載地址:http://kylin.apache.org/download/
apache-kylin-1.5.1-bin.tar.gz
解壓至:/home/liuxiaowen/kylin
安裝部署環(huán)境
我這里使用的相關(guān)版本為:
hbase-0.98.6-cdh5.2.0
hadoop-2.3.0-cdh5.0.0
apache-hive-2.0.0-bin
apache-kylin-1.5.1-bin
jdk1.7+
特別注意:Hive應該使用至少0.14以上的版本,我第一次使用0.13.1時候有問題。
另外,請確保Hadoop、HBase、Hive可用,這里不介紹。
配置環(huán)境變量
部署使用的用戶為liuxiaowen
vi ~/.bash_profile
HBASE
export HBASE_HOME=/opt/hbase-0.98.6-cdh5.2.0
export HBASE_CONF_DIR=/etc/hbase/conf
HADOOP
export HADOOP_HOME=/opt/hadoop-2.3.0-cdh5.0.0
export HADOOP_CONF_DIR=/etc/hadoop/conf
export YARN_CONF_DIR=/etc/hadoop/conf
HIVE
export HIVE_HOME=/home/liuxiaowen/apache-hive-2.0.0-bin
export HCAT_HOME=HIVEHOME/hcatalogexportHIVECONF=HIVE_HOME/conf
KYLIN
export KYLIN_HOME=/home/liuxiaowen/kylin/apache-kylin-1.5.1-bin
刷新環(huán)境變量:
source ~/.bash_profile
配置Kylin使用的Hive數(shù)據(jù)庫:
cd $KYLIN_HOME/conf
vi kylin.properties
Hive database name for putting the intermediate flat tables
這里配置在Hive中使用的schema,需要寫權(quán)限
kylin.job.hive.database.for.intermediatetable=liuxiaowen
使用HDFS超級用戶在HDFS上為Kylin創(chuàng)建工作目錄,并賦權(quán)給liuxiaowen:
hadoop fs -mkdir /kylin
hadoop fs -chown -R liuxiaowen:liuxiaowen /kylin
可選,配置Kylin使用的內(nèi)存
$KYLIN_HOME/bin/setenv.sh
檢查環(huán)境配置
cd $KYLIN_HOME/bin
./check-env.sh
kylin
啟動Kylin
cd $KYLIN_HOME/bin
./kylin.sh start
kylin
登陸Kylin WEB界面
瀏覽器輸入:
http://172.16.212.17:7070/kylin
用戶名密碼:ADMIN/KYLIN
kylin
遇到的幾個問題
都是因為使用了Hive0.13.1引起的:
Caused by: java.lang.IncompatibleClassChangeError:
Found interface org.apache.hadoop.mapreduce.JobContext, but class was expected
hcatalog版本問題,后改為Hive2.0中的hcatalog
export HCAT_HOME=/home/liuxiaowen/apache-hive-2.0.0-bin/hcatalog
java.lang.NoClassDefFoundError: org/apache/hadoop/hive/shims/Utils
Kylin的簡單示例
Kylin中多維分析Cube的建立主要包括以下步驟:
Hive中分析好事實表;
Kylin中建立項目(project);
Kylin中建立數(shù)據(jù)源;
Kylin中建立數(shù)據(jù)模型;
Kylin中建立Cube;
Build Cube;
查詢Cube;
Kylin按照上面的過程,最終將Hive中的事實表按照相應的結(jié)構(gòu),壓縮并存儲在HBase中。
官網(wǎng)提供了中文文檔,說明了如何在Kylin中建立Cube,非常詳細:
http://kylin.apache.org/cn/docs15/tutorial/create_cube.html
Hive中的事實表
kylin
事實表lxw1234_kylin_fact中的維度有day、region、city、siteid、os;最終查詢的指標有兩個:PV以及UV(COUNT DISTINCT cookieid)
Kylin中建立數(shù)據(jù)模型
建立項目lxw1234;
將Hive中的事實表 lxw1234_kylin_fact導入到Kylin數(shù)據(jù)源:
kylin3. 建立數(shù)據(jù)模型lxw1234_dataModel:
選擇維度數(shù)據(jù):
kylin
選擇指標數(shù)據(jù):
kylin
其他設(shè)置:
kylin
數(shù)據(jù)模型中的日期分區(qū)字段貌似是必選的,否則會有問題。
然后保存。
kylin
Kylin中建立Cube
kylin
設(shè)計維度:
kylin
設(shè)計指標:
kylin
其中,UV使用的COUNT_DISTINCT是近似計算,需要選擇錯誤率,錯誤率越低,占用的存儲越大,Build耗時越長。
其他設(shè)置請參考上面給的中文文檔鏈接,很詳細。
設(shè)置好之后保存。
kylin
Kylin中Build Cube
在Cube后面的Actions下拉菜單中選擇Build:
kylin
Submit之后,在Monitor頁面中可以看到Build Job的進度和狀態(tài):
kylin
雙擊Job Name進入該Job的詳細監(jiān)控頁:
kylin
Build完成后,在Model頁面可以看到這個Cube已經(jīng)是READY狀態(tài):
kylin
你可以在HBase中查看該Cube對應的HTable:
kylin
Kylin中使用SQL查詢
在Insight頁面中使用SQL查詢:
kylin
注意:由于DAY是關(guān)鍵字,需要使用雙引號。
至此,Kylin的安裝配置及簡單示例已經(jīng)全部完畢,后續(xù)將介紹進一步的使用,比如和BI工具的整合等等
總結(jié)
以上是生活随笔為你收集整理的分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记录一次@Transactional问题
- 下一篇: 黑苹果2k屏_一加手机屏幕新特性:120