基于kylin大数据多维分析功能整合
一、 思路
大数据OLAP目前主要有ROLAP和MOLAP。目前我们已采用的ROLAP方式组建数据平台,提供了更大的操作灵活性,同时在海量数据的情况下分析计算缓慢。MOLAP 能降低分析和数据库的耦合性,提高处理效率和改善分工,但降低操作灵活性和增加ETL的复杂性。
我们将采用的建模做立方体(MOLAP)的方式改进平台,目前也面临着ETL复杂性问题。
面对MOLAP,大数据处理业界给出来一个比较合适、新兴的方式去解决这个问题,kylin。由于我们需要的不是一个单独的软件而是一个整体解决方案,所以基于kylin 和开源BI 以及CDH hadoop, 做一个全套搭建跑通测试。它能解决:
l 支持大数据多维查询,可秒级返回。
l 使用多维预计算,降低ETL复杂度。
l 使用基数估计算法,可任意维度用户数计算。
二、 选型
结果:
Pentaho6.1(saiku3.8.8) + kylin 1.5.4 + CDH5.8
说明:
Saiku 是多维分析软件,使用modrian 多维引擎。Saiku + kylin 有一线公司整合成功的先例。Saiku3.8.8 使用mondrian4,可支持 schema3 和schema4。
Pentaho 是开源BI套件(类比BIEE),支持saiku plugin , 多维引擎mondrian 也由pentaho公司维护。Pentaho7.0是最新版本,但他还没有添加saiku plugin ,所以选择pentaho6.1。pentaho可支持CDH,需要安装相关CDH版本软件包。
Kylin是大数据分析引擎,支持SQL和多维分析。Kylin1.5.4 可支持CDH5.8。
技术架构入下:
三、 Demo说明
选取了11天数据测试,分析2个维度:日期、节目名,3个度量:点播次数,用户数,观看时长。数据处理流程是:处理源数据-> 多维结果数据->应用结果集。
数据 |
位置 |
使用 |
处理源数据 |
CDH 5.8 hive default.t_vod_daily |
Kylin 入口数据 |
多维结果数据 |
Kylin1.5.4 (实际 CDH 5.8 hbase) |
SQL查询和pentaho多维入口 |
应用结果集 |
Pentaho组件(saiku/Jpviot,report,ctool) |
业务数据人员使用 |
其中遇到几点问题:
1. Mondrian Schema选择,目前modrianSchema4 是主流和最新版本,支持物理、属性、展示三层映射。但是未有对应的生成软件,后发现pentaho 也仅仅mondrian schema3 ,所以只能使用mondrian schema3。
2. CDH driver 问题, pentaho,saiku 可支持 Hive ,Impala 访问,但实际上要按需联入对应driver 才能实现,且支持功能不足够完善。
3. 模型对接,Mondrian schema 3 的模型必须和kylin 建模一模一样,才能保证上层pentaho正常访问。
4. 建模技能和MDX技能。
四、 测试结果
数据分析(saiku)能秒级返回,Distinctuserid 有 0.45%的差距, 因为kylin 使用 基数估计算法 ,任何维度的distinct 都可计算。
五、 遗留问题
测试需要完善,可能存在mondiran-kylin不支持情况。
- 上一篇: yii2框架session中保存和获取数据
- 下一篇: yii2 session 的原理