mondrian使用测试
package mondrianTest;import java.io.PrintWriter;import mondrian.olap.Connection;
import mondrian.olap.DriverManager;
import mondrian.olap.Query;
import mondrian.olap.Result;public class TestMDX {
public void testQuery(){Connection connection = DriverManager.getConnection("Provider=mondrian;" + "Jdbc=jdbc:mysql://10.241.20.157:3306/foodmart?user=root&password=root;" +"Catalog=C:\\Users\\Administrator\\Desktop\\nrtp\\FoodMart.xml;",null, false);Query query = connection.parseQuery("select {[Measures].[业务量]} on columns from MsgBusi");Result result = connection.execute(query);PrintWriter pw = new PrintWriter(System.out);result.print(pw);pw.flush();}public static void main(String[] args) {TestMDX a = new TestMDX();System.out.println("调用mondrian api进行查询");a.testQuery();}
}
Exception in thread "main" mondrian.olap.MondrianException: Mondrian Error:Internal error: while parsing catalog C:\Users\Administrator\Desktop\nrtp\FoodMart.xml
at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:755)
at mondrian.olap.Util.newInternal(Util.java:1083)
at mondrian.olap.Util.newError(Util.java:1099)
at mondrian.rolap.RolapSchema.load(RolapSchema.java:303)
at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:213)
at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:76)
at mondrian.rolap.RolapSchema$Pool.get(RolapSchema.java:835)
at mondrian.rolap.RolapSchema$Pool.get(RolapSchema.java:657)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:148)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:79)
at mondrian.olap.DriverManager.getConnection(DriverManager.java:122)
at mondrian.olap.DriverManager.getConnection(DriverManager.java:87)
at mondrian.olap.DriverManager.getConnection(DriverManager.java:55)
at mondrianTest.TestMDX.testQuery(TestMDX.java:13)
at mondrianTest.TestMDX.main(TestMDX.java:41)
Caused by: org.eigenbase.xom.XOMException: In Schema: In Cube: In Measure: In MeasureExpression: In SQL: Value 'infobright' of attribute 'dialect' has illegal value 'infobright'. Legal values: {generic, access, db2, derby, firebird, hsqldb, mssql, mysql, oracle, postgres, sybase, teradata, ingres, luciddb}
at mondrian.olap.MondrianDef$Schema.<init>(MondrianDef.java:134)
at mondrian.rolap.RolapSchema.load(RolapSchema.java:289)
... 11 more
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:408)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1137)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:355)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2490)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2527)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2309)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:408)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:419)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:344)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at mondrianTest.TestMysql.main(TestMysql.java:17)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:258)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:305)
... 15 more
Exception in thread "main" mondrian.olap.MondrianException: Mondrian Error:Failed to parse query 'select {[Measures].[业务量]} on columns from MsgBusi'
at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:755)
at mondrian.olap.ConnectionBase.parseQuery(ConnectionBase.java:77)
at mondrian.olap.ConnectionBase.parseQuery(ConnectionBase.java:59)
at mondrianTest.TestMDX.testQuery(TestMDX.java:18)
at mondrianTest.TestMDX.main(TestMDX.java:37)
Caused by: mondrian.olap.MondrianException: Mondrian Error:Error while parsing MDX statement 'select {[Measures].[业务量]} on columns from MsgBusi'
at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:755)
at mondrian.olap.Parser.parseInternal(Parser.java:760)
at mondrian.olap.ConnectionBase.parseQuery(ConnectionBase.java:74)
... 3 more
Caused by: mondrian.olap.MondrianException: Mondrian Error:MDX cube 'MsgBusi' not found or not processed
at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:752)
at mondrian.rolap.RolapSchema.lookupCube(RolapSchema.java:1067)
at mondrian.olap.Query.<init>(Query.java:187)
at mondrian.olap.Parser.makeQuery(Parser.java:851)
at mondrian.olap.CUP$Parser$actions.CUP$Parser$do_action(Parser.java:1700)
at mondrian.olap.Parser.do_action(Parser.java:685)
at java_cup.runtime.lr_parser.parse(lr_parser.java:569)
at mondrian.olap.Parser.parseInternal(Parser.java:755)
... 4 more
Axis #0:
{[Customers].[USA].[CA]}
Axis #1:
{[Measures].[Unit Sales]}
Axis #2:
{[Time].[1997]}
Row #0: 74,748
Exception in thread "main" java.lang.NoSuchMethodError: mondrian.resource.MondrianResource.getThreadOrDefaultLocale()Ljava/util/Locale;
at mondrian.resource.MondrianResource.instance(MondrianResource.java:29)
at mondrian.rolap.aggmatcher.AggTableManager.<clinit>(AggTableManager.java:54)
at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:194)
at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:216)
at mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:214)
at mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:66)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:160)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:90)
at mondrian.olap.DriverManager.getConnection(DriverManager.java:112)
at mondrian.olap.DriverManager.getConnection(DriverManager.java:68)
at mondrian.olap.DriverManager.getConnection(DriverManager.java:50)
at mondrianTest.TestMDX.testQuery(TestMDX.java:13)
at mondrianTest.TestMDX.main(TestMDX.java:38)
<dependency><groupId>eigenbase</groupId><artifactId>eigenbase-resgen</artifactId><version>1.3.1</version></dependency>
<dependency><groupId>eigenbase</groupId><artifactId>eigenbase-resgen</artifactId><version>1.3.0.11873</version>
</dependency>
package mondrianTest;import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.olap4j.Cell;
import org.olap4j.CellSet;
import org.olap4j.OlapConnection;
import org.olap4j.OlapException;
import org.olap4j.OlapStatement;
import org.olap4j.OlapWrapper;
import org.olap4j.Position;
import org.olap4j.metadata.Member;public class Olap4jTest { /*** 获取连接Olap的连接* @param url 连接Olap的URL* @return* @throws ClassNotFoundException* @throws SQLException*/public static OlapConnection getConnection(String url) throws ClassNotFoundException, SQLException{Class.forName("mondrian.olap4j.MondrianOlap4jDriver");Connection connection = DriverManager.getConnection(url);OlapConnection olapConnection = connection.unwrap(OlapConnection.class);return olapConnection;}/*** 获取查询的结构结果集* @param mdx mdx查询语句* @param conn Olap连接* @return* @throws OlapException*/public static CellSet getResultSet(String mdx,OlapConnection conn) throws OlapException{OlapStatement statement = conn.createStatement();CellSet cellSet = statement.executeOlapQuery(mdx);return cellSet;}public void testQuery(){ OlapConnection connection = null;try {connection = getConnection("jdbc:mondrian:" + "Jdbc=jdbc:mysql://10.241.20.157:3306/foodmart?user=root&password=root;" +"Catalog=C:\\Users\\Administrator\\Desktop\\nrtp\\FoodMart.xml;");} catch (ClassNotFoundException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}String query = "SELECT { [Measures].[Unit Sales] } on columns,{ [Time].[Year].[1997] } on rows FROM Sales WHERE ([Customers].[State Province].[CA])";//获取查询结果 CellSet cs = null;try {cs = getResultSet(query, connection);} catch (OlapException e) {// TODO Auto-generated catch blocke.printStackTrace();} PrintWriter pw = new PrintWriter(System.out);//处理返回数据if(cs.getAxes().size()>1){for (Position row : cs.getAxes().get(1)) {for (Position column : cs.getAxes().get(0)) {for (Member member : row.getMembers()) {System.out.println("rows:"+member.getUniqueName());}for (Member member : column.getMembers()) {System.out.println("columns:"+member.getUniqueName());}final Cell cell = cs.getCell(column, row);System.out.println("values:"+cell.getValue());System.out.println();}}}else{for(Position column:cs.getAxes().get(0)){for(Member member:column.getMembers()){System.out.println("columns:"+member.getUniqueName());}Cell cell=cs.getCell(column);System.out.print("values:"+cell.getValue());System.out.println();}}}public static void main(String[] args) {Olap4jTest a = new Olap4jTest();System.out.println("调用mondrian api进行查询");a.testQuery();}
}
rows:[Time].[1997]
columns:[Measures].[Unit Sales]
values:74748.0
mondrian使用测试相关推荐
- Mondrian 4 测试的简单demo(Saiku简单测试Schema文件)
## 整理此文章方便大家做测试(手写Mondrian Schema自测),不必每次都向saiku上传文件了 ## 关键文件 * foodmart4.xml 测试对应的schema文件 * foodm ...
- Kylin, Mondrian, Saiku系统的整合
本文主要介绍有赞数据团队为了满足在不同维度查看.分析重点指标的需求而搭建的OLAP分析工具.这个工具对Kylin.Mondrian以及Saiku做了一个整合,主要工作包括一些定制化的修改以及环境的配置 ...
- Mondrian 4: Get ready!
蒙德里安4:做好准备! Mondrian是一种非常流行的开源分析引擎,可用于各种产品(如Pentaho BA Server,JasperSoft BI Server).Mondrian 4带来了一大堆 ...
- Mondrian简介
出自:https://www.cnblogs.com/lk-fxtx/p/7067720.html 一. Mondrian简介 Mondrian是一个开源项目.一个用Java写成的OLAP引擎.它用 ...
- mondrian的个人总结
1. OLAP的作用和功能 OLAP(On-Line Analysis Processing)在线分析处理是一种共享多维信息的快速分析技术:OLAP利用多维数据库技术使用户从不同角度观察数据,它用于支 ...
- mondrian mysql 实例_mondrian入门 | 学步园
以前一直是用MS Anylize Service的,最近要做的项目是java的,小项目预算有限,所以想找一个开源的java的数据仓库解决方案来用用. 在网上查了一下,发现了Mondrian.Mondr ...
- mondrian 性能优化
mondrian作为开源的rolap引擎非常稳定,bug也非常少,但是就是基本没用人维护了,如果出现什么问题,需要自己修改源码了.现在很多BI工具的rolap引擎都使用的是modnrian ,例如比较 ...
- 配置Mondrian源码
一,配置 前一阶段对mondrian和jpivot的测试主要建立在jar与war包的基础上面,若要对mondrian源码进行跟踪调试,需要导入mondrian源码包到ide(eclipse)环境中,在 ...
- locust入门:单机使用locust运行压力测试
locust的官方文档在这里: http://docs.locust.io/en/stable/ 前置:locust的测试脚本使用为python(若未安装python环境,可以搜索安装python) ...
最新文章
- getpass 模块
- SD--关于定价过程中的存储顺序的参考结构和参考字段的使用代码跟踪
- oracle 触发器 upsert,如何使SQLAlchemy insert与Postgres多处理proof upsert触发器一起工作?...
- ERROR org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Exception in doCheckpoint
- 未雨绸缪 | 一文简介 Azure Front Door
- 基于Echarts+HTML5可视化数据大屏展示—Echart图例使用
- k8s核心技术-集群安全机制(概述)---K8S_Google工作笔记0038
- codekit for mac(开发人员必备编译工具)
- NAND闪存(NAND Flash)颗粒SLC,MLC,TLC,QLC的对比
- ccProxy软件实现网络共享
- Android编译内核并刷入
- CTWAP下程序崩溃
- MYCNCART博客系统
- 管理计算机域的内置账户怎么取消,如何删除供来宾访问计算机或访问域的内置账?...
- 网络学习 2g 3g 4g 技术对比 带宽理解 三大运营商手机网络模式 (制式)
- ACM第一次练习—1000A
- python键盘记录器_使用Python设计键盘记录器
- JPA 7. Spring 整合 JPA
- 金融申请评分卡(2)
- php中push数组,php中的array_push函数怎么用
热门文章
- html语言link,HTML中link是什么意思?
- 2022多益网络春招之最后一场--软件工程师笔试
- mysql 增加合计行_SQL:给查询添加一个合计行
- 用do…while循环按公式e=计算 e 的值(精度为 1e-6)
- 简单网站统计功能的实现 PV IP 真实访客数(UV)
- CANopen中SDO、PDO、以及COB-ID理解
- 网络广告VS电子邮件
- Ubuntu18.04——正确安装英伟达(NVIDIA)显卡驱动的一种简便方法
- bytestobstr php,一段asp转php
- 17、Health Check 健康检查