Mondrian+Tomcat+Pivot4J = ROLAP

来源:互联网 发布:出国关闭蜂窝移动数据 编辑:程序博客网 时间:2024/05/29 17:54
Mondrian 从3.6版本开始就不提供war文件了, 只提供一个jar文件了, 理由是团队想更专注于OLAP引擎本身, 而UI的东西有很多其他开源的项目了, 所以不再提供这方面的东西, 详见:点击打开链接

目前比较流行的UI工具包括: Pivot4J 和 Saiku. 这里是用Pivot4J

Pivot4J 有3个形态, jar,war和Plugin。Plugin是用来嵌入Pentaho BI server的, jar是用来嵌入其他项目的。war是可以和Tomcat连用的。


步骤如下:

1. 安装Java & Tomcat & Derby , 运行Tomcat

2. 下载Pivot4J analytics的war版本文件, 放到Tomcat的webapps里去, 比如C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\

3. 重启Tomcat后发现webapps目录下出现Pivot4J的文件夹, 比如 pivot4j-analytics-0.9

4. 可以在Pivot4J的Tomcat的目录WEB-INF\lib的下查看使用的mondrian的版本(mondrian-version.jar), WEB-INF里的foodmart文件夹就是对应的derby数据库, pivot4j-config.xml 文件定义了数据库链接和cube的结构文件路径, FoodMart.xml就是cube的结构文件,它定义了维度,Measure和cube.

5. 在浏览器访问 http://127.0.0.1:8081/pivot4j-analytics-0.9/      (注意默认端口号是8080)

6. 试着用最下面的输入框运行一段mdx, cube选 Sales

SELECT {[Measures].[Unit Sales], [Measures].[Store Cost], [Measures].[Store Sales]} ON COLUMNS, Hierarchize(Union(Union(CrossJoin({[Promotion Media].[All Media]}, {[Product].[All Products]}), CrossJoin({[Promotion Media].[All Media]}, [Product].[All Products].Children)), CrossJoin([Promotion Media].[All Media].Children, {[Product].[All Products]}))) ON ROWS FROM [Sales]



7. 到目前为止,我们搭建的BI系统是基于derby database的, 如果我们希望把数据库切换成Mysql呢? 首先要在Mysql上搭建foodmart数据库, 并从derby的foodmart中导入数据。这部分可以参考我在github上的项目:点击打开链接。然后修改webapps\pivot4j-analytics-0.9\WEB-INF\pivot4j-config.xml , 修改的部分在<datasources>下:

<datasource>    <name>FoodMart Mondrian</name>    <description>FoodMart sample data source.</description>    <connection-info>        <url>jdbc:mondrian:</url>        <driverClass>mondrian.olap4j.MondrianOlap4jDriver</driverClass>        <properties>            <property name="Catalog">file:${webRoot}${FS}FoodMart.xml</property>            <property name="Jdbc">jdbc:mysql://localhost/foodmart</property>            <property name="JdbcDrivers">com.mysql.jdbc.Driver</property>            <property name="JdbcUser">root</property>            <property name="JdbcPassword">password</property>        </properties>    </connection-info></datasource>   


备注:

war文件是Web Application Archive)包含全部Web应用程序。在这种情形下,一个Web应用程序被定义为单独的一组文件、类和资源,用户可以对jar文件进行封装,并把它作为小型服务程序(servlet)来访问。

http://blog.csdn.net/lqchild/article/details/9268279

http://andrewli.blog.51cto.com/7625043/1554592

https://github.com/pentaho/mondrian/releases/tag/4.7.0.4-R

http://tomcat.apache.org/download-80.cgi

http://mondrian.pentaho.com/documentation/installation.php

http://dataroads.blogspot.co.uk/2015/05/configure-pivot4j-analytics-with-mysql.html

http://mondrian.pentaho.com/api/mondrian/test/loader/MondrianFoodMartLoader.html

原创粉丝点击