
有关Kylin的介绍和使用,请参阅上一篇文章
《分布式大数据多维分析(OLAP)引擎Apache Kylin的安装配置和使用示例》
Kylin提供了一个外部SQL查询接口. 基于Kylin,它构建了OLAP多维分析系统. 第一个解决方案是开发为业务量身定制的前端接口. 用户在界面上的选择和操作将转换为SQL并提交给Kylin. 查询. 另一个解决方案是将Kylin与BI工具集成在一起,并使用BI工具对Kylin中的多维数据集执行查询分析. Kylin本身可以很好地集成BI工具Tableau. 我自己下载了Tableau的试用版,效果确实很好. 官方文档还提供了详细的教程:

不幸的是,Tableau是商业软件,需要付费.

本文介绍了另一个开源和免费的BI工具-Saiku.
Saiku是一个轻量级的OLAP分析引擎. 用户可以使用OLAP和内存引擎在一个非常友好的界面中向下钻取,筛选,排序,排序和生成图表. Saiku使用Mondrian完成界面吗? MDX? SQL
转换,最后将SQL提交给Kylin以通过JDBC执行.
Github已经提供了已编译的jar包供下载:
按照说明进行操作,Saiku + Kylin的集成部署非常简单.

在浏览器中输入Saiku的网址:: 8080 /
用户名和密码为: admin / admin
<?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>

进入Saiku管理控制台olap数据源,单击“添加架构”,然后上传架构文件.

然后单击“添加数据源”以添加数据源:

返回Saiku主页,单击“创建新查询”以创建查询:

在多维数据下拉菜单中,选择在Schema文件中定义的多维数据集以自动获取指标和维度,双击指标和维度,查询和显示将在该区域中自动执行在右边.

Saiku还支持向上,向下,过滤和排序操作.
在试用期内,发现了两个严重的问题,这些问题使Saiku和Kylin的融合甚至无法继续进行:
1. 事实表和维表的联接方法:
在Mondrian中olap数据源,内部表(内部联接)用于将事实表与维表相关联. 在Kylin中,我的多维数据集是由事实表和维度表的左连接生成的,因此不受支持. 内部联接查询. 除非在我的示例中,除非将左右维度名称放置在事实表中,而不与维度表相关联,否则就没有问题.
2. 计数不同的问题:
Mondrian的“ Count Distinct”索引将转换为“ SELECT COUNT(*)FROM(SELECT DISTINCT…)”的形式. 该查询SQL已提交给Kylin,不受支持. 因此,不可能查询和分析Count Distinct类型的索引.
为了更好地使用Saiku + Kylin,似乎需要研究和解决这两个问题.
如果您认为此博客有帮助,请赞助作者.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-146827-1.html
广交朋友