概述
是一个商业智能平台:为商业智能项目提供了一个完整开源的解决方案。它涵盖了一个BI系统所有方面的功能包括:数据挖掘、查询、分析、报告、Dashboard仪表板。
基本介绍
SpagoBI平台功能较为完整,官方声称市场上唯一100%开源的BI套件解决方案(基于LGPL协议);各个BI组件之间模块化很好,通过Plugin插件方式加载,来看一下它的各个组件:
- Report:BirtReportDriver,BirtReportEngine,JasperReportDriver,JasperReportEngine
- GEO:GeoDriver,GeoEngine(用地图显示数据和查询的)
- OLAP:JPivotDriver,JPivotEngine
- QBE:QbeDriver,QbeEngine
- DataMining:WekaDriver,WekaEngineSecurity:ExoPortalSecurityProvider
- ETL:Octupus和talend(Talend是官方合作伙伴)
- Portal:eXoPortal
- Booklet(小册子):BookletsComponent:主要包括文件上传,工作流,OpenOffice支持。
它还支持文档管理,用的是Apache的JackRabbit;支持搜索功能,使用的是ApacheLucene。它的展现层也使用了AJAX特性,另外它在DashBoard也使用了Openlaszlo,(一个用Javacode生成Flash的框架),所以SpagoBI的DashBoard看上去很好。SpagoBI体系架构图如下
启动或使用过程遇到问题
- icu4j报错:以最新版本的icu4j jar 换掉webapps\SpagoBIQbeEngine\WEB-INF\lib下的 icu4j-XX.jar
- org.hibernate.MappingNotFoundException: resource: org/jbpm/identity/User.hbm.xml not found
解决办法:SpagoBI/WEB-INF/lib 加上 jbpm-identity-3.2.jar
- 系统使用过程,不支持录入中文数据:
- couldn't load class XX :org.quartz.impl.jdbcjobstore.oracle.OracleDelegate:
解决办法:替换quartz-all.jar为1.6.1版本
-
javax.naming.OperationNotSupportedException: Context is read only error:
解决办法:Try adding a file named resfactory.propertiesunder WEB-INF/classes containing the following line:tbeller.usejndi=false
- Cockpit添加部件的时候报错:Impossible to load dataset [bookings] due to the following service errors: SbiCacheItem is not mapped [from SbiCacheItem h where h.signature = ?];
- 定义数据源的时候勾上"write default"
切换数据库(以oracle为例)
- /conf/server.xml 修改
<Resource name="jdbc/spagobi" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@172.17.11.1:1521:orcl"
username="username" password="password" maxActive="20" maxIdle="10"
maxWait="-1"/>
- /webapps/SpagoBI/WEB-INF/classes/hibernate.cfg.xml 使用oracle数据库断言
<property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
- /webapps/SpagoBI/WEB-INF/classes/jbpm.hibernate.cfg使用oracle数据库断言
<property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
- /webapps/SpagoBI/WEB-INF/classes/quartz.prperties
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
- 初始化数据脚本在启动的时候会动态插入,需要在SpagoBI/WEB-INF/lib加上bsh-2.0b4.jar
- 分别执行ORA_create.sql和ORA_create_quartz_schema.sql脚本文件,启动startup.bat
汉化过程
- webservice相关接口配置修改支持utf-8
网友评论
27 五月 2017 11:33:01,611 ERROR it.eng.spagobi.utilities.engines.EngineStartupExceptionTrapAction.logError:81 - The error full stack trace is:
it.eng.spagobi.utilities.engines.SpagoBIEngineStartupException: Impossible to create engine instance for document [null].
The root cause of the error is: Metamodel Service returns null value
at it.eng.spagobi.engines.qbe.services.initializers.QbeEngineStartAction.service(QbeEngineStartAction.java:91)
at it.eng.spago.dispatching.action.ActionCoordinator.invokeServiceBusiness(ActionCoordinator.java:209)
……
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: it.eng.spagobi.utilities.engines.SpagoBIEngineRuntimeException: Impossible to load jar file of metamodel [187] from SpagoBiServer
at it.eng.spagobi.tools.dataset.utils.datamart.DefaultEngineDatamartRetriever.downloadJarFile(DefaultEngineDatamartRetriever.java:123)
at it.eng.spagobi.tools.dataset.utils.datamart.DefaultEngineDatamartRetriever.retrieveDatamartFile(DefaultEngineDatamartRetriever.java:95)
……
at it.eng.spagobi.engines.qbe.QbeEngine.createInstance(QbeEngine.java:53)
at it.eng.spagobi.engines.qbe.services.initializers.QbeEngineStartAction.service(QbeEngineStartAction.java:81)
... 35 more
Caused by: it.eng.spagobi.utilities.engines.SpagoBIEngineRuntimeException: Metamodel Service returns null value
at it.eng.spagobi.tools.dataset.utils.datamart.DefaultEngineDatamartRetriever.downloadJarFile(DefaultEngineDatamartRetriever.java:120)
... 42 more