基于kylin大数据多维分析功能整合
来源:互联网 发布:头像卡通化软件 编辑:程序博客网 时间:2024/06/07 21:18
一、 思路
大数据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不支持情况。
- 基于kylin大数据多维分析功能整合
- 分布式大数据多维数据分析(olap)引擎kylin
- Kylin系列-Saiku结合Hive做大数据多维数据分析
- 《基于Apache Kylin构建大数据分析平台》
- 《基于Apache Kylin构建大数据分析平台》
- 《基于Apache Kylin构建大数据分析平台》
- Kylin系列-分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例
- 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例
- 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例
- 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例
- Kylin 之对大数据量的多维分析
- 【多维分析系列】拥抱大数据多维分析查询
- Kylin系列-使用Saiku+Kylin构建多维分析OLAP平台
- Saiku+Kylin多维分析平台探索
- Saiku + Kylin 多维分析平台探索
- 大数据分析界的“神兽”Apache Kylin初解
- 大数据分析界的“神兽”Apache Kylin有多牛?
- 大数据分析界的“神兽”Apache Kylin有多牛?
- 原型模式
- 关于使用java语言操作FTP的一些问题
- JS 中的事件绑定、事件监听与事件委托
- Read rtsp using libvlc&opencv
- 函数中this的指向问题 ——Javascript 进阶知识整理
- 基于kylin大数据多维分析功能整合
- java script更改src属性后,不刷新的问题
- Android设置背景透明度
- 自定义groupingcomparator
- 二维数组中查找一个数,该二维数组是 行和列递增的
- 使用fiddler工具进行前后端连调:将本地网页放到某个域下
- TCP的建立与释放
- Leetcode 283. Move Zeroes
- Java编写二进制加法器