Mondrian_环境搭建

来源:互联网 发布:淘宝网t恤女 编辑:程序博客网 时间:2024/05/29 04:48

最近对mondrian源码进行研究,主要目的是想了解一下该系统的架构,以及一些核心的算法。研究mondrian就需要搭建其研究的环境,好在mondrian提供了自己的实例数据库和model schema。这次搭建真费了不少的心血,下面把搭建环境的简单流程记录下来,以备忘。

 

下载mondrian source,这个很简单,网上一搜就能找到官方的下载地址。http://sourceforge.net/projects/mondrian/

在下载包里有一个mondrian-3.1.6.13364-src.zip得文件夹(不同的版本后来的版本号不一样,我下载的是3.1.6),解压这个文件夹,里面就是源码了。不过这里并不是这么简单!

 

首先,环境的准备,IDE(如:eclipse)、数据库(如:sqlserver,db2)、ant、能连接网络、jdk(至少jdk5)

 

1. 在IDE中创建一个java工程,如:在eclipse中创建名为mondrian的java工程

2.将解压的文件复制到工程中去。此时是编译不过的,因为上文件和一些jar包,缺少java_cup生成文件和一些Resource类等。

3.刷新工程,用ant运行build。如果不出意外的话,该任务会自动的下载jar和生成上述缺少的文件。

4.将lib下的jar包加入工程的classpath中,同时将,src/main和testsrc/main两个文件夹设置为源码文件夹。

   如果上述执行完后,还有错,把有错的地方,按提示处理下就好。一般是FactoryJdbc3Impl有问题(jdk版本不一样问题会不一样)

4.创建测试数据库:运行testsrc/main文件下的mondrian.test.loader.MondrianFoodMartLoader类,需设置运行参数,具体的不同数据库不一样。sqlserver2005 如下:

 

-verbose -tables -data -indexes -jdbcDrivers=com.microsoft.jdbc.sqlserver.SQLServerDriver -inputFile=FoodMartCreateData.sql -outputJdbcURL="jdbc:sqlserver://localhost:1433;DatabaseName=mondrian_data" -outputJdbcUser=sa -outputJdbcPassword=123456

注:inputFile默认情况下可以不用设置,去demo目录下的FoodMartCreateData.sql ,如果指定最好指定完整路径。其它的是数据库连接信息,运行时需就相应的jdbc驱动加入classpath中,另如果是sqlserver建议采用用户默认数据库创建数据,否则容易出现问题!

 

完成后没有出现问题就可以写测试类进行测试了

整个过程中需要注意:

1.不同的数据库创建数据库类执行的参数不一样。

2.不同的操作系统使用的Resource可能不一样,这时可能会提示找不到Resource文件或者找不到Resource Key的错误。在这种情况下,要根据具体的情况去设置src/main下的mondrian.resource下的执行类和资源。

3.如果想看mondrian具体的执行sql语句。只需在mondrian.rolap.SqlStatement.execute()方法中执行sql前添加个打印即可。在mondrian.rolap.RolpUtil.executeQuery()中打印也可以。