2015-10-21
最近整理了写2.6版本的编译构建过程,发布到了博客,欢迎大家去踩踩
http://blog.csdn.net/gsying1474/article/details/49307521
工具:
- MyEclipse 10
- saiku2.5源码
- saiku-server-foodmart-2.5.zip
操作步骤:
- 在MyEclipse中新建一个web项目,名为saiku(必须名为saiku,因为saiku的UI会默认找saiku项目)
- 在saiku-server-foodmart-2.5.zip的tomcat中,找到saiku项目,并复制saiku目录下的所有文件到saiku项目的WebRoot目录中
- 到saiku-2.5.x\saiku-core\目录下分别找到saiku-service和saiku-web目录,并找到其中的java源代码,copy到saiku中,作为源码(建议分开两个resource文件夹存放,便于区分)
- 然后在saiku项目中创建source文件夹resource(命名自定),并在其目录下创建文件夹saiku-datasources和saiku-repository(前者是存储saiku的datasource的文件夹,后者则是存储生成的saiku模板的文件夹)
- 然后将saiku项目放到tomcat中,启动,看是否正常(如果没配置错误的话,应该正常了)
- 配置一个自己的测试库:
1)、在saiku-datasources目录下创建file并命名为testdatasource,文件内容为如下
type=OLAP
name=testdatasource
driver=mondrian.olap4j.MondrianOlap4jDriver
location=jdbc:mondrian:Jdbc=jdbc:mysql://localhost:3306/testdatasource;Catalog=res:testdatasource/testdatasource.xml;
username=root
password=111111
2)、解释下上面一条的的参数
type=OLAP就不多说了,先按固定的来name=testdatasource 数据源名称driver=mondrian.olap4j.MondrianOlap4jDriver 可以理解为固定的,Mondrian的多维查询driverlocation一行比较长,其中有一段jdbc:mysql://localhost:3306/testdatasource为数据库的url,后面的res:testdatasource/testdatasource.xml是vfs的一种url写法,表示是classes目录下的testdatasource/testdatasource.xml文件3)、创建表和插入数据,执行语句如下
username和password就不多说了,如果看不懂,就去翻译一下吧
A、创建表t_user
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (B、创建表t_data
`user_id` int(11) NOT NULL,
`user_name` varchar(255) DEFAULT NULL,
`pwd` varchar(255) DEFAULT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of t_user
-- ----------------------------
INSERT INTO `t_user` VALUES ('1', 'user1', '1');
INSERT INTO `t_user` VALUES ('2', 'user2', '2');
INSERT INTO `t_user` VALUES ('3', 'user3', '3');
INSERT INTO `t_user` VALUES ('4', 'user4', '4');
DROP TABLE IF EXISTS `t_data`;
CREATE TABLE `t_data` (
`user_id` int(11) DEFAULT NULL,
`count` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of t_data
-- ----------------------------
INSERT INTO `t_data` VALUES ('1', '23');
INSERT INTO `t_data` VALUES ('2', '22');
INSERT INTO `t_data` VALUES ('3', '21');
INSERT INTO `t_data` VALUES ('4', '25');
INSERT INTO `t_data` VALUES ('2', '21');
INSERT INTO `t_data` VALUES ('4', '22');
4)、在resource文件夹下建文件夹testdatasource,并在其下创建文件testdatasource.xml,文件内容如下
<?xml version="1.0" encoding="UTF-8" ?>
<Schema name="test_schema">
<cube name="test_cube">
<Table name="t_data"></Table>
<Dimension name="user" foreignKey="user_id">
<Hierarchy hasAll="true" allMemberName="user_id" primaryKey="user_id" >
<Table name="t_user" />
<Level name="user_id" column="user_id" uniqueMembers="true" type="Integer" />
</Hierarchy>
</Dimension>
<Measure column="count" aggregator="sum" datatype="Numeric" name="all_count" caption="all_count"></Measure>
</cube>
</Schema>
这个配置在这里就不做太多解释了
经过以上几个不步骤,就可以完美的运行saiku的server服务了
转载请手下留情,注明出处,也不枉我辛苦一场,谢谢