内容简介:随着数据量的激增,传统的 OLTP 平台已无法满足用户的分析需求。OLAP 平台应运而生,OLAP 平台通常由 OLAP Engine 与用户操作分析页面组成。本文将会以 Saiku + Kylin 的组合方式讲解多维 OLAP 平台的搭建。SaikuSaiku 是一个用于 OLAP 分析的套件。用户可在浏览器中通过拖拽的方式进行分析,降低了使用者的学习成本。它能够连接多种数据源,如 Microsoft SQL Server,Oracle Database,MySQL,MongoDB 等。
随着数据量的激增,传统的 OLTP 平台已无法满足用户的分析需求。OLAP 平台应运而生,OLAP 平台通常由 OLAP Engine 与用户操作分析页面组成。本文将会以 Saiku + Kylin 的组合方式讲解多维 OLAP 平台的搭建。
Saiku
Saiku 是一个用于 OLAP 分析的套件。用户可在浏览器中通过拖拽的方式进行分析,降低了使用者的学习成本。它能够连接多种数据源,如 Microsoft SQL Server,Oracle Database,MySQL,MongoDB 等。
Saiku 支持两种连接方式:一是 Mondrian,二是 XMLA。 Mondrian 是一个开源的商务分析引擎。使用 MDX (Multi Dimensional Expressions) 完成多维查询; XMLA(XML for Analysis)是一种基于简单对象访问协议(SOAP)的 XML 协议。
Apache Kylin
Kylin 是一个基于 Hadoop/Spark 的 OLAP 引擎,可查询分析历史与实时数据,并在亚秒内返回查询结果。
前期准备
-
安装 JAVA 并设置 JAVA_HOME
-
从 Saiku 社区 https://community.meteorite.bi 下载 Saiku 最新版本
-
从 Kylin 官网 https://kylin.apache.org/download/ 下载 Kylin 最新版本,即 2.6.2
-
在 Kylin v2.6.2 中构建一个 Cube (构建教程:http://kylin.apache.org/docs/tutorial/kylin_sample.html)
连接 Saiku 到 Kylin
1. 执行 unzip saiku-latest.zip 解压下载好的 Saiku 包,切换至 saiku-server 文件夹。解压下载好的 Kylin 包,进入解压后文件夹,将 lib/kylin-jdbc-.jar 拷贝至 saiku-server/tomcat/webapps/saiku/WEB-INF/lib
2. 在 saiku-server 文件夹下执行 ./start-saiku.sh 命令启动 Saiku,启动后可在浏览器中输入 http://localhost:8080 访问 Saiku 页面。默认端口为 8080,可在 saiku-server/tomcat/conf/server.xml 中进行修改。
3. 访问 https://licensing.meteorite.bi/login 进行注册并登录。
4. 登录后,先创建公司(必须),再创建 License,Hostname 为启动 Saiku 的机器 IP。创建完成后,下载 License 到本地。
5. 访问 http://localhost:8080/upload.html 上传 License。上传所需用户名与密码均为 admin。
6. 访问 http://localhost:8080 进行登录,用户名密码均为 admin。如果不执行上述 3-5 步骤,直接登录将会报如下错。
Error fetching license. Get a free license from http://licensing.meteorite.bi. You can upload it at /upload.html
7. 登录后,点击管理控制台,即顶部导航栏最右边包含 A 的图标。然后点击 Add Schema,添加 Mondrian Schema 的 XML 文件和 Schema Name,最后点击 Upload 按钮,显示 Upload Successful! 即可。XML 文件由自己编写,官方提供两个参考样例 Earthquakes.xml 和 FoodMart4.xml,在 saiku-server/data 目录下。具体语法可参考:https://mondrian.pentaho.com/documentation/schema.php
如下为本次使用的示例 XML 文件。其中包含一张名为 KYLIN_SALES 的表,包含 TRANS_ID,PART_DT,LSTG_FORMAT_NAME 这 3 个维度和 1 个 SUM(PRICE) 度量。
注意:表(列)名大小写敏感,需与 Kylin 中加载的数据源表(列)名称对应。
8. 点击 Add Data Source,填写如下参数:
点击 Save 按钮保存。
9. 点击 Home Tab;点击 Create a new query 进入查询分析页面。
10. 点击选择多维数据集下拉框,选择刚刚创建好的 Kylin 数据源。
11. 通过拖拽的方式选择维度和度量进行分析。结果以表格形式展示,可在页面右边切换图表模式。
上图所示拖拽方式会首先转换为 MDX 发送给 Mondrian,Mondrian 会将其转换为 SQL 发送给 Kylin,Kylin 查找可回答该 SQL 语句的 Cube,将查询结果返回给 Mondrian,再由 Mondrian 返回给 Saiku 进行展示。上图所示方式生成的 SQL 语句如下:
常见问题
1. tomcat 启动报错:
解决方案:在 saiku-server/tomcat/conf/catalina.properties 中的 tomcat.util.scan.DefaultJarScanner.jarsToSkip=\ 后加 ,*
2. 选择 schema 后,指标和维度不显示。日志中报如下错:java.lang.NoClassDefFoundError: mondrian/olap/LevelType
解决方案:解压 saiku-server/tomcat/webapps/saiku/WEB-INF/lib 下的 saiku-query-0.4-SNAPSHOT.jar,删除 mondrain 文件夹后重新打包,并替换原有 jar 包。
参考文献
1.https://saiku-documentation.readthedocs.io/en/latest/
2.https://baike.baidu.com/item/XMLA/8711067
3.https://community.hitachivantara.com/docs/DOC-1009853
4.https://www.jianshu.com/p/14b57d000fe5
5.https://blog.csdn.net/csdn_g_y/article/details/78184747
6.https://blog.csdn.net/qq_28725695/article/details/84322821
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
How to Think About Algorithms
Jeff Edmonds / Cambridge University Press / 2008-05-19 / USD 38.99
HOW TO THINK ABOUT ALGORITHMS There are many algorithm texts that provide lots of well-polished code and proofs of correctness. Instead, this one presents insights, notations, and analogies t......一起来看看 《How to Think About Algorithms》 这本书的介绍吧!
SHA 加密
SHA 加密工具
HEX CMYK 转换工具
HEX CMYK 互转工具