Saiku是一个模块化的开源分析套件,它提供轻量级的OLAP(联机分析处理),并且可嵌入、可扩展、可配置。
环境准备
1、JDK5及以上版本。
2、Saiku Server最新版本,下载地址:http://analytical-labs.com/downloads.php。
提示:本人因与领导冲突,不tm干了!手上saiku版本太老了。建议大家FQ。saiku网站时不时被墙,不知道为什么。github上有,不过版本老,去看看
安装
1、安装JDK并配置JAVA_HOME环境变量。
2、解压saiku-server-foodmart-XX.zip到任意目录(免安装,解压即用)。
3、进入saiku-server目录,运行start-saiku.bat(linux下运行start-saiku.sh),访问地址http://localhost:8080,出现登录窗口说明安装成功。要求登陆名和密码,第一次登陆时都是admin
就可以看到使用界面,开始使用了:
搭建我们自己的Cube
1、编写schema文件,用workbench编写,格式为XML文件,如果不会,请自学。saiku自身带了一个foodmart的例子。(读者交流反馈,给出设计mondrian schema xml文件官方文档,http://mondrian.pentaho.com/documentation/schema.php。擅长xml语言脚本编写的人,请出招吧)
可以学习一下。将编好保存的schema.xml文件,放在目录saiku-server omcatwebappssaikuWEB-INFclasses下,在目录新建一个文件夹,存放对应文件作为一个单独的整体。
2、添加datasource,这是一个配置文件,配置好后才能在saiku的多维数据库(英文为cube)栏中,发现所配置的数据cube模型。配置目录saiku-server omcatwebappssaikuWEB-INFclassessaiku-datasources,其中,每个cube对应一个配置文件,名字不限,但只能配置一个,不能共享。(在一个文件中,配置两个,后面的会覆盖前面的。新建一个cube,新建一个datasources配置说明。只有配置了说明文件,才能在saiku里显示。)
所以新建配置文件myds,添加以下内容:
- type=OLAP
- name=myds
- driver=mondrian.olap4j.MondrianOlap4jDriver
- location=jdbc:mondrian:Jdbc=jdbc:mysql://localhost:5029/mydw?user=usr&password=pwd;Catalog=res:mycube/testcube.xml;
- username=usr
其中,
mondrian.olap4j.MondrianOlap4jDriver是驱动,将二维关系表转化为多维度表的驱动。
my own connection:
type=OLAP
name=aso#在saiku里显示这个名字,用什么都行,myds等随便。
driver=mondrian.olap4j.MondrianOlap4jDriver
location=jdbc:mondrian:Jdbc=jdbc:mysql://localhost:3307/mytest;Catalog=res:aso/aso_cube01.xml;
username=root
password=123456
我是localhost连接,所以没用“?”加用户名和密码,如果是非本地机器连接不同时,可以尝试加上。
另外,mondrian.olap4j.MondrianOlap4jDriver是驱动,将二维关系表转化为多维度表的驱动。
新建第二个cube,名为test:
type=OLAP
name=test
driver=mondrian.olap4j.MondrianOlap4jDriver
location=jdbc:mondrian:Jdbc=jdbc:mysql://localhost:3307/testsql;Catalog=res:test/Schema1.xml;
username=root
password=123456
注意,name,location等地方,分别变了三处。
(简单说明:test是这个项目的名字,无影响;“3307/testsql”是数据库mysql的服务端口,testsql是数据库的database名。“res:test/Schema1.xml”res是saiku配置文件指定的本地读取路径;test是文件夹名;Schema1.xml是设计好的cube文件,需要自己设计)
3、password=pwd 3、重新启动Saiku Server,访问http://localhost:8080,在Cubes下拉框里面看到aso,说明配置成功。
其它:修改start-saiku.bat,-Dfile.encoding=GBK,解决启动日志乱码问题。
点击aso可以从不同维度看数据,
注意:
1同一个level下不能分开做行列。
2区间,点击量区间则可以分析是否作弊,(是否符合正态分布)
3,时间区间
4,地域区间
基本使用:
维度,dimension,从这个角度看你的数据。
层级,包含不同的level,来看不同属性的数据。
level是一个细粒度的属性,来分析数据。
measure统计量,用来统计一列的值。
注意,维度,可以放在行列,是看事实表中满足条件的数据,出现的个数。
而,统计一列上的数据和值,比如downloads,只能用measure,并且放在列上。
(csdn贴个图真费劲!不贴了。自己对应着看。小生欢迎来函探讨)
而数据图,在右边,分析,
(懒,图省略)
上边那行的功能键,可以进行过滤等操作,排序等操作
(懒,图省略)
to be C