pentaho介绍 下载本文

一、 Pentaho 整体架构 cc

二、 Client tools 1. Report Designer

报表创建工具。如果想创建复杂数据驱动的报表,这是合适工具。 2. Design Studio

这是基于eclipse的工具,你可以使用它来创建手工编辑的报表或分析视图xaction 文件,一般用来对在report designer中无法增加修改的报表进行修改。 3. Aggregation Designer

帮助改善Mondrian cube 性能的图形化工具。 4. Metadata Editor

用来添加定制的元数据层到已经存在的数据源。一般不需要,但是它对应业务用户在创建报表时解析数据库比较容易。

5. Pentaho Data Integration 这是kettle etl工具。

6. Schema Workbench

帮助你创建rolap的图形化工具。这是为分析准备数据的必须步骤。

三、 Pentaho BI suit community editon安装 硬件要求:

RAM: At least 2GB

Hard drive space: At least 1GB

Processor: Dual-core AMD64 or EM64T 软件要求:

需要JRE 1.5版本,1.4版本已经不再支持。

修改默认的端口8080,打开\\biserver-ce\\tomcat\\conf目录下的server.xml文件,修改base-urlhttp://localhost:8080/pentaho中的端口号。否则administration-console中不能连接到bi server。

四、 配置数据库连接

如果要是pentaho bi server能连接到关系数据库,需要将相应数据库driver的jar包拷贝到server/biserver-ce/tomcat/common/lib目录。

为了能在administration console中创建数据库连接并测试,需要将相应的数据库driver的jar包拷贝到server/administration console/jdbc目录。下面是具体关系数据库连接设置说明。

1、连接oracle数据库。

需要将oracle的driver类class12.jar包拷贝到/Pentaho/server/enterprise-console-server/jdbc/或/biserver-ee/server/enterprise-console-server/jdbc/ /Pentaho/server/bi-server/tomcat/common/lib/或/biserver-ee/server/bi-server/tomcat/common/lib/目录。

执行\\Pentaho\\Server\\administration-console目录下的start-pac.bat启动admin console或 bi server。

在Adminstrator console中配置数据库连接:

在iE中输入http://localhost:8099/后进入管理界面,点左边的administrator,在右边窗口中点database connection进入下面的界面。

在name中输入要创建的数据库连接的名称,在driver class中选择要使用的driver类,user name中输入访问数据库的用户、password中输入相应的密码,在url中输入访问数据库的连接信息:jdbc:oracle:thin:@xzq:1521:oradata。在@之前的是固定信息,@之后分别是服务器名称或IP:端口号:数据库服务名。 2、连接MS Sql server数据库

在iE中输入http://localhost:8099/后进入管理界面,点左边的administrator,在右边窗口中点database connection进入下面的界面。

在name中输入要创建的数据库连接的名称,在driver class中选择要使用的driver类,user name中输入访问数据库的用户、password中输入相应的密码,在url中输入访问数据库的连接信息:jdbc:Microsoft:sqlserver://localhost:41433;DatabaseName=GOSLDW。//前的字符是固定的,//后是数据库服务器名或ip地址:端口号;DatabaseName=数据库名。 五、 Report Designer创建报表 5.1. 创建步骤

第一步:定义数据源,创建dataset 第二步:定义report layout,report layout有一组band构成,包括reportheader、report footer、group header、group footer以及detail构成。 第三步:部署报表到BI server. 5.2. 创建report title

在左边的工具栏上拖一个label报表元素到reportheader band中,双击label报表元素输入你想要的report title,如图5-2。你可以在右边的属性窗口中对该title进行属性定义,包括字体大小、颜色、样式等。 图5-2 创建report title

5.3. 创建column header

在report title下加几个label报表元素,构成你需要的columnheader,如图5.3所示。 图5-3 创建column header 5.4. 创建report detail

报表的Detail本身将产生报表的明细记录,这些记录有dataset提供,因此需要将dataset中的字段拖入report detail band即可,如图5-4。 图5-4 产生reportdetail

5.5. 创建report summary

在 report footer band加上汇总元素的描述标签和相应的汇总计算字段,如图 5-5所示。 这里的关键是需要生产汇总计算字段,图中生成了两个library count 和total library size,要产生这两个汇总字段,需要在右边data页的function中增加function字段,分别利用了count(running)和summary(running)函数

5.6. 画布大小设置

点击菜单file->pagesetup,出现图5.6所示的界面,在该界面中可以设置画布的大小 图5.6

5.7. 创建图表

所有图表都有一个showlabel属性,默认是hidelabel,在这种情况下,图表上不会显示相应的值,图表上能显示的值一般有三种情况,分别是0、1、2(对pie chart有3),分别表示系列的描述、category描述、项值,如果需要组合显示,可以采用{0},{2}这样的格式来表示。 5.7.1. Bar chart

Bar chart对比较不同类别数据的大小是有用的。

在左边的工具按钮中拖入chart图标到report header,如图5.7.1 图5.7.1

双击该图出现图5.7.2所示的属性窗口 图5.7.2 bar chart属性设置

在左边窗口中设置相关的显示属性,在右边窗口中指定显示的数据字段。这样就完成了图形报表的创建。 技巧:

Pentaho中的数据集是同报表绑定的,如果想在同一报表中显示多张chart报表,需要利用sub report,在不同的sub report中分别创建报表完成。 5.7.2. 区域图(Area chart)

区域图用于比较两个或多个数据集间的差异是有用的。 5.7.3. 线性图(line chart)

线性图对分析发展趋势是有用的。

注意,堆积和堆积百分比(stackand stack percent)不能用于linechart。 5.7.4. 饼图(pie chart)

饼图一般用来分析不同category占总值的占比分析。 饼图有一个labelformat属性,该属性值有以下几种: {0}:series name, {1}::series raw value {2}: percentage value {3}: total raw value

5.7.5. 环形图(ring chart)

环形图类似于饼图,除了它呈现为环形,而饼图是实体填充外,没有什么差异。 5.7.6. 多饼图(muti pie chart)

根据category呈现一组饼图,每一个category对应一个饼图。 5.7.7. 瀑布图(warterfall chart)

瀑布图呈现了唯一一个跨category的stacked bar chart。这种图形对于一个category同另一个category进行比较时是有用的。通常最后一个category等于所有别的category的总和。 5.7.8. 条形和线形组合图(bar line chart)

在比较category值的同时查看趋势。这是一个需要两个category 数据集的图形,第一个产生bar chart,第二个产生line chart。 5.7.9. 冒泡图(bubble chart)

冒泡图允许你查看三维数据,前两维是传统的X/Y维,也就是域和范围(domainand range)。第三维代表单个气泡的大小。

六、 将pentaho的资料库迁移到oracle数据库

默认情况下是使用HSQLDB数据库作为pentaho的资料库。 迁移步骤:

1、 将oracle JDBC驱动class12.jar拷贝到..\\tomcat\\webapps\\pentaho\\WEB-INF\\lib或..\\tomcat\\common\\lib目录,供pentaho BI服务器访问oracle 数据库使用。另外也需要将oracle JDBC驱动拷贝到administration-console\\jdbc目录,否则用户不能正常使用pentaho管理控制台。

2、 初始化Oracle 10g数据库。依次执行下面的sql包,在执行sql包前先创建两个用户,quartz/password,用于存储quartz相关信息,另一个用户hibuser/password用户存储pentaho bi服务本身资料库。Sql包说明:

l Create_repository_Ora.sql,用于创建pentaho_tablespace表空间、新增hibuser/password用户,以及datasource 表。

l Create_sample_datasource_Ora.sql,往datasource表中增加外部业务资料库连接信息。 l Create_quartz_ora.sql,创建pentaho_user/password用户,quartz数据库、quartz表等。 3、 修改contex.xml中配置数据库连接的信息。这个文件位于\\biserver-ce\\tomcat\\webapps\\pentaho\\META-INF位置。修改该文件中的数据库连接相关信息。 4、 打开biserver-ce\\pentaho-solutions\\system\\hibernate中的hibernate-settings.xml配置文件,并启用oracle10g.hibernate.cfg.xml配置文件,配置示例如下。 system/hibernate/oracle10.cfg.xml

5、 调整oracle10g.hibernate.cfg.xml文件,主要是连接数据库的相关信息。

6、 修改applicationContext-spring-security-hibernate.properties配置文件,它位于biserver-ce\\pentaho-solutions\\system。下面是配置示例。 Jdbc.driver=oracle.jdbc.driver.OracleDriver Jdbc.url=jdbc:oracle:thin@localhost:1521:ORCL Jdbc.username=hibuser Jdbc.password=password

Hibernate.dialect=org.hibernate.dialect.Oracle10Dialect

7、 修改quartz.properties,位于biserver-ce\\pentaho-solutions\\system\\quartz目录。当使用oracle存储quartz的各种信息时,需要启动如下实现类,即默认的org.quartz.impl.jdbcjobstore.StdJDBCDelegate被替换成OracleDelegate。

Org.quartz.impl.jobstore.driverDelegateClass=org.quartz.impl.jdbcstore.oracle.OracleDelegate 8、 可选地,用户需要修改start_hypersonic.bat中的相关信息。

七、 设置publication口令

Pentaho设置工具用来定义BI 内容,如report 、olap cube和metadata。在这些工具中创建的内容文件要部署到BI server上,可以通过手工拷贝这些内容文件到pentaho相应的solution文件夹下来完成部署,但典型的方式还是通过publication来完成部署。

为了能完成publication,需要设置相应的口令,默认情况下是没有设置口令的。为了设置这个口令,需要在pentaho-solution/system目录下的publisher_config.xml文件中添加

password

这个例子中将 password设置为”password”。 八、 Pentaho Data integration

Pentaho DI包含的主要工具和实用程序:

Spoon – 图形化的DI IDE,用于创建Transformation和job Kitchen – 运行job的命令行工具

Pan –运行transformation的命令行工具

Carte –在远程主机上运行transformation和job的轻量级服务器。默认的登录用户是cluster/cluster.可以使用Encr –carte 修改口令。Carte将登录用户信息存储在/data-integration/pwd目录下的kettle.pwd文件中。

Encr—这个用来加密口令,用法为Encr –kettle 下图是关于pentahoDI 各个工具和组件工作情况说明。

Dataintegration engine负责解释和执行数据集成job和transformation。Data integration engine在物理上是以java库的形式存在,前端可以通过调用公共的api来执行job和transformation。 Data integration engine也包括pentaho BI server,将job和transformation作为 action sequence的一部分来执行。

Repository。Job 和transformation可以存储在数据库知识库中,前端工具可以通过连接知识库来装载job和tranformation定义。 8.1 自动连接知识库

在user的home目录下的.kettle目录中打开kettle.properties文件,然后添加: KETTLE_REPOSITORY = KETTLE_MD –repositoryname KETTLE_USER = admin -- credential user name KETTLE_PASSWORD = admin --user password

这样每次启动spoon时,可以自动登录默认的repository。 8.2使用集群

要使用集群,首先要定义相关的子服务器(slave server),然后定义cluster schema,最后将定义好的cluster schema分配给相应的Transformation step。 8.3创建数据库连接

在spoon IDE中在Transformation 树结构中右键单击“数据库连接”->新建连接或新建数据库连接向导或按快捷键F3进入“创建数据连接”窗口。 目前支持几乎所有的数据库连接。 数据库连接选项:

1) Connection name:定义转换或者任务访问的连接的唯一名称,可以自行设置; 2) Connection type:连接的数据类型;

3) Method of access:可以是Native(JDBC),ODBC,或者OCI,一般选择JDBC; 4) Server host name:指定数据库部署的主机或者服务器的名称,也可以指定 IP 地 址;

5)Database name:指定连接的数据库的名称,如果是 ODBC 方式就指定 DSN 名称; 6)Port number:设定数据库监听的 TCP/IP 端口号

7)Username/password:指定连接数据库的用户名和密码; 数据库用法:

8.4 Transformation Step

8.4.1. Text File input

这个step用来读取各种不同类型的text-file类型文件,常见的是由excel生成的cvs文件和固定宽度的flat file。

该组件提供了指定文件列表或文件目录列表的能力,支持正则表达式,还可以接收前面步骤