使用Saiku+Kylin构建多维分析OLAP平台
http://lxw1234.com/archives/2016/05/647.htm
关于Kylin的介绍和使用请参考之前的文章
《分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例》
Kylin对外提供的是SQL查询接口,基于Kylin构建OLAP多维分析系统,第一种方案是针对业务,定制开发一个前端界面,将界面上用户的选择和操作,翻译成SQL,提交给Kylin查询。另一种方案则是将Kylin与BI工具整合起来,借助BI工具,对Kylin中的Cube进行查询分析。Kylin本身对于BI工具Tableau可以非常好的整合使用,我自己下载了Tableau的试用版,效果确实不错,官方文档中也给出了详细的教程:
http://kylin.apache.org/cn/docs15/tutorial/tableau_91.html
可惜,Tableau是商业软件,收费的。
本文介绍另一个开源免费的BI工具–Saiku。
Saiku是一个轻量级的OLAP分析引擎,用户可以在非常友好的界面下利用OLAP和内存引擎进行向下钻取,过滤、分类、排序和生成图表。Saiku利用Mondrian完成了界面?MDX?SQL
的转换,最终将SQL通过JDBC提交给Kylin执行。
Github上已经有大神提供了编译好的相关jar包下载:
https://github.com/mustangore/kylin-mondrian-interaction
按照里面的说明,很简单就完成了Saiku+Kylin的整合部署。
Saiku中配置Kylin数据源
在浏览器输入Saiku的WEB地址:http://172.16.212.17:8080/
用户名密码为:admin/admin
STEP1:编写Mondrian Schema文件
- <?xml version="1.0"?>
- <Schema name="ad_schema">
- <Cube name="lxw1234_ad_cube2">
- <!-- 事实表(fact table) -->
- <Table name="AD_REPORT" />
- <Dimension name="地域">
- <Hierarchy hasAll="false">
- <Table name="AD_REPORT"></Table>
- <Level name="省份" column="PROVINCE" table="AD_REPORT"></Level>
- <Level name="城市" column="CITY" table="AD_REPORT"/>
- </Hierarchy>
- </Dimension>
- <Measure name="曝光数" column="IMP_PV" aggregator="sum" datatype="Integer" />
- <Measure name="唯一曝光数" column="COOKIEID_IMP" aggregator="distinct-count" datatype="Integer" />
- <Measure name="点击数" column="CLK_PV" aggregator="sum" datatype="Integer" />
- <Measure name="唯一点击数" column="COOKIEID_CLK" aggregator="distinct-count" datatype="Integer" />
- </Cube>
- </Schema>
STEP2:添加Kylin数据源
进入Saiku管理控制台,点击”Add Schema”,将编写好Schema文件上传。
接着点击”Add Data Source”,添加数据源:
STEP3:创建查询
回到Saiku Home主页,点击”Create a new query”,创建查询:
在多维数据下拉菜单中,选择Schema文件中定义好的Cube,自动获取指标和维度,双击指标和维度,在右边的区域即可自动进行查询展示。
Saiku中同样支持上钻、下钻、过滤、排序等操作。
存在的问题
在试用期间,发现两个严重的问题,导致Saiku和Kylin的整合甚至不能继续:
1. 事实表和维度表的join方式:
Mondrian中统一使用内关联(Inner Join)的方式将事实表和维度表关联,而Kylin中,我的Cube是将事实表和维度表进行左关联(Left Join)生成的,因此不支持Inner Join的查询。除非像我例子中的,把左右的维度名称都放置到事实表中,不和维度表关联,这样就没有问题。
2. Count Distinct的问题:
Mondrian对于Count Distinct的指标会翻译成SELECT COUNT(*) FROM (SELECT DISTINCT …)的形式,这种查询SQL提交给Kylin,并不支持,因此对于Count Distinct类型的指标无法查询分析。
看来要想很好的使用Saiku+Kylin,这两个问题还有待研究解决。
使用Saiku+Kylin构建多维分析OLAP平台相关推荐
- 猿辅导 x DorisDB:构建统一OLAP平台,全面升级数据分析能力
猿辅导公司的数据中台部门为猿辅导.斑马.猿编程.小猿搜题.猿题库.南瓜科学等各个业务线的产品.运营.研发提供标准化的数据集(OneData)和统一数据服务(OneService).OLAP平台作为数据 ...
- 迈向更灵活,贝壳 OLAP 平台架构演进
导语 |为了满足贝壳日益复杂.多样化业务场景下的多维数据分析需求,贝壳 OLAP 平台经历了从早期基 于Hive+MySQL 原始阶段,到基于 Kylin单一引擎的平台化建设,再到支持多种不同OLAP ...
- 迈向更灵活,贝壳 OLAP 平台架构演进历程
导语 |为了满足贝壳日益复杂.多样化业务场景下的多维数据分析需求,贝壳 OLAP 平台经历了从早期基 于Hive+MySQL 原始阶段,到基于 Kylin单一引擎的平台化建设,再到支持多种不同OLAP ...
- Saiku + Kylin 多维分析平台探索
作者:lxWei 背景 为了应对各种数据需求,通常,我们的做法是这样的: 对于临时性的数据需求:写HQL到Hive里去查一遍,然后将结果转为excel发送给需求人员. 对于周期性的.长期性的数据需求: ...
- 数据仓库-多维分析展示平台Saiku
Saiku Saiku是一个轻量级的OLAP分析引擎,可以方便的扩展.嵌入和配置.Saiku通过REST API连接OLAP系统,利用其友好的界面为用户提供直观的分析数据的方式,它是基于jQuery做 ...
- oracle saiku_Apache Kylin | Saiku + Kylin 搭建多维 OLAP 平台
随着数据量的激增,传统的 OLTP 平台已无法满足用户的分析需求.OLAP 平台应运而生,OLAP 平台通常由 OLAP Engine 与用户操作分析页面组成.本文将会以 Saiku + Kylin ...
- oracle saiku_有了 Kylin+Saiku,妈妈再也不用担心我的多维 OLAP 平台
随着数据量的激增,传统的 OLTP 平台已无法满足用户的分析需求.OLAP 平台应运而生,OLAP 平台通常由 OLAP Engine 与用户操作分析页面组成.本文将会以 Saiku + Kylin ...
- 卷皮OLAP平台进化史:Apache Kylin在卷皮网大数据平台的运用
\ AI 前线导读:"卷皮网"是一家专注高性价比商品的移动电商 ,日活跃高达 1000 多万,随着卷皮网的快速发展,数据规模快速增长,集群数据存储量成指数倍增大,服务器规模达到 1 ...
- 贝壳大数据OLAP平台架构演进
分享嘉宾:肖赞 贝壳 资深工程师 编辑整理:赵冬生 出品平台:DataFunTalk 导读:随着大数据的持续发展及数字化转型的兴起,大数据OLAP分析需求越来越迫切,不论是大型互联网企业,还是中小型传 ...
最新文章
- 彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM+LIO-SAM)
- Android:理想的框架开发母板——高焕堂
- UVA 11100 The Trip, 2007
- 【转】蓝牙技术及其系统原理
- 为什么说Java中只有值传递(另一种角度)
- [html] 如果列表元素li的兄弟元素为div,会产生什么情况?
- PHP方向+go+rpc+swoole,瞅瞅 PHP+Swoole 作为网络通信框架
- Docker自动构建开发测试平台
- jmeter 聚合报告说明_Jmeter 测试结果分析之聚合报告简介
- 怎么看公司财务报表?
- 爆赞,java后端开发路线。
- VB编程:GetSetting控制软件试用期-56
- bmp转换为YUV420p指南
- SAP SM36如何设置后台作业 每月最后一天运行
- Java常用日志框架介绍(转载)
- Docker 镜像的存储机制
- 【CF833D】Red-Black Cobweb
- VM虚拟机安装使用OBS直播录屏软件图文教程及注意事项
- globalmapper如何选取图像上的点_图像去雾的算法历史与综述
- R语言用GAM广义相加模型研究公交专用道对行程时间变异度数据的影响
热门文章
- HTML如何设置幻灯片大小和位置,PPT教程:教你如何在PPT母版中统一标题的位置、大小、样式 | 演示说...
- 网站设计系列:网站易用性
- program received signal sigfpe,Arithmetic exception
- 什么是物联卡,物联卡注意事项
- 服务器系统2012浏览器,关闭Windows 2012系统IE浏览器”增强的安全配置已启用”问题 | 老左笔记...
- Java垃圾回收与算法
- 谷歌的云计算是什么样子的?
- MATLAB实现图像灰度直方图
- matlab实现彩色图像的直方图均衡化
- [转][JS]Math.random()随机数的二三事