PRD概述

2023-10-28

一、       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文件,修改<connector port=8080为你想要的端口号。同时在这部分可以调整Apache Tomcat参数。在修改了该端口号后,必须同时修改\tomcat\webapps\pentaho\WEB-INF目录下的web.xml文件中的<context-param><param-name>base-url</param-name><param-value>http://localhost:8080/pentaho</param-value></context-param>中的端口号。否则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配置文件,配置示例如下。

<config-file>system/hibernate/oracle10.cfg.xml</config-file>

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文件中添加

<publisher-config>

       <publisher-password>password</publisher-password>

</publisher-config>

这个例子中将 password设置为”password”。

八、       Pentaho Data integration

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

Spoon – 图形化的DI IDE,用于创建Transformation和job

Kitchen – 运行job的命令行工具

Pan –运行transformation的命令行工具

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

Encr—这个用来加密口令,用法为Encr –kettle <password>

下图是关于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。

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

8.4.2.           表输入(table input)

该组件用来从数据库获取信息。主要的属性有数据库连接、sql等。在sql中可以使用变量,如果使用了变量,则必须勾选上“替换sql 语句中的变量”选项,否则变量不能传入,sql语句将报错。

“允许延迟转换”选项可以避免不必要的数据类型转换,改善数据处理性能。

8.4.3.           获取系统信息(get systeminfo)

该组件用来获取kettle环境中可用的信息。

8.4.4.           行发生器(generaterows)

产生多行,具体产生多少行可以通过设置limit(限制)来做设定。可以通过field(字段)列表来指定字段名称及类型。

8.4.5.            输入(De-serializefrom file,原名cube输入)

从二进制的kettlecube文件中读取记录行数据。

8.4.6.           XBase输入

使用这一步可以读取大多数被称为 XBase family派生的 DBF文件。

8.4.7.           Excel输入

该组件可以从一个或多个excel文件中读取数据,可以使用正则表达式来指定文件。

8.4.8.           插入或更新(insert/update)

这个组件首先使用一个或多个对照key来查询表中的一行,如果找到,则更新,如果没有找到则插入。

选项

1、步骤名称:步骤的名称,在单个转换中必须唯一。

2、连接:目标表所在的数据库连接名称。

3、Target  schema:要写入数据的表的 Schema 名称。 允许表名中包含 “.”是很重要的。 

4、目标表:想插入或者更新的表的名称。

5、Commit size:提交之前要改变(插入/更新)的行数。

6、不执行任何更新:如果被选择,数据库的值永远不会被更新。仅仅可以插入。

7、用来查询的关键字:可以指定字段值或者比较符。可以用以下比较符:=,

<>,<,<=,>,LIKE,BETWEEN,ISNULL,IS NOT NULL。

8、更新字段:指定你想要插入/更新的字段

8.4.9.           更新(Update)

这个步骤类似于插入/更新步骤,除了对数据表不作插入操作之外。它仅仅执行更新操作。

8.4.10.       删除(Delete)

这个步骤类似于上一步,除了不更新操作。所有的行均被删除。

8.4.11.       XML 输出(XMLoutput)

这个步骤允许你从源中写入行到一个或者多个 XML 文件。

选项

8.4.12.       数据库查询(Databaselookup)

这个步骤类型允许你在数据库表中查找值。

选项

步骤名称:在单一转换中步骤名称必须唯一。

数据库连接:想要写入数据的连接。

查询表:想要查询的表名。

使用缓存:数据库查询是否使用缓存。这意味着在某种查询值的条件下,每次数据

库都能返回同样的结果。

8.4.13.       流查询(Streamlookup)

这个步骤类型允许你从其它步骤中查询信息。首先, “源步骤(lookup step)”的数据被读到内存中,

然后被用来从主要的流中查询数据。

选项

步骤名称:在单个转换中步骤名必须唯一。

源步骤:数据来源的步骤名称

查询值所需要的关键字:允许你来指定用来查询值的字段名称。值总是用“等于”

比较符来搜索。

接收的字段:你可以指定用来接收字段的名称,或者在值没有找到的情况下的缺省

值,或者你不喜欢旧的字段名称的情况下的新字段名称

Preserve Memory:排序的时候对数据行进行编码以保护内存

Key and value are exactly one integer field: 排序的时候对数据行进行编码

以保护内存

Use sorted list:是否用一个排序列表来存储值,它提供更好的内存使用。

这个步骤的使用类似于数据库查询步骤,区别在于数据库查询使用的是数据库表,而流查询是从文本文件等数据流中查询。

8.4.14.       调用数据库存储过程(Call DBProcedure)

这个步骤允许你运行一个数据库存储过程,获取返回结果。

8.4.15.       字段选择(selectvalue)

   该组件对于选择、重命名或修改字段的长度和精度方面很有用。这几方面被放在了不同的category中,在组件上分别放在不同的tab中。

8.4.16.       过滤记录(Filterrows)

这个步骤允许你根据条件和比较符来过滤记录。

一旦这个步骤连接到先前的步骤中,你可以简单的单击“<field>” , “=”和“<value>”

区域来构建条件。

选项

步骤名称:步骤的名称,在单一转换中必须唯一。 技术资料, 【Kette3.0用户手册】

 发送“true”数据给步骤:指定条件返回 true的数据将发送到此步骤。

 发送“false”数据给步骤:指定条件返回 false 的数据将发送到此步骤。

8.4.17.       空操作(什么也不做)(dummy(do nothing))

该组件什么也不做,只是用来做一些测试时的占位符。

8.4.18.       Row DeNormalizer(行转列)

该组件做行转列。在“构成分组的字段”中指定分组字段,在“目标字段”中指定“目标字段”的名称,目标字段的值字段(从哪个字段中获取值)和“关键字值”。如下图所示的样例:

 

8.4.19.       列转行(Rownormaliser)

用于将列转行

例如下表的数据

转换成下表所示的数据

Row normaliser步骤的设置如下图

8.4.20.       拆分字段(split field)

基于指定的分割符信息进行字段拆分。

8.4.21.       去重(Unique Rows)

     从输入流中去除重复的记录。需要确保输入流是排了序的,否则只有相邻连续的记录会去重。

8.4.22.       分组(group by)

这个组件用来根据一组分组字段进行计算。

选项

步骤名称:步骤的名称,在单一转换中必须唯一。

分组字段:指定分组的字段。

聚合:指定需要聚合的字段、方法以及新字段结果的名称

包含所有的行:如果选择这个,输出中就包含所有的行,不仅仅是聚合。

临时文件目录:临时文件存储的目录。

临时文件前缀:指定命名临时文件时的文件文件前缀。

添加行号,每一个分组重启:如果你想添加行号,就选择这个。

字段名行数:指定行号将插入的字段的名称。

8.4.23.       设置为空值(Null if)

如果某个字符串的值等于指定的值,设置那个值为空。

8.4.24.       计算器(Calculator)

这个步骤提供一个功能列表,可以在字段值上运行。

计算器的一个重要优势是,它有着几倍于常用的 JavaScript 脚本的速度。

8.4.25.       行扁平化(flattener)

这个操作类似行转列(分组字段,对某一列进行行转列)

8.4.26.       值映射(value mapper)

该组件将值从一个值映射到另一个值。通常你想解决存储一个数据库中转换表的问题,不管怎么说,这是一种可选的方案:简单的将转换表作为值映射对话框的一部分。

例如将1映射为男,0映射为女等。

8.4.27.       数据库连接(DatabaseJoin)

这个步骤允许你使用先前步骤的数据,运行一个数据库查询。

能够指定查询参数:

在 SQL 查询中使用“?”

在 SQL 查询中使用数据网格中的字段

 

8.4.28.       合并记录(Merge rows)

该组件可以用来比较两个记录流。对于比较两个不同时间点的记录流是很有用的。常使用在没有包含最后更新时间的数据仓库源系统状态中。两个记录流,参照流和比较流进行合并,记录的最后更新版本数据被传给下一个组件,记录被标记为:

identical – 在两个流中都发现了key,并且值是一致的。

changed—在两个流中都发现了key,但是一个或多个值不一致。

new –key在参照流(旧数据源)中没有发现

deleted – key在比较流(新数据源)中没有发现。

除了deleted状态情况,比较流的数据传到下一个组件中。

需要注意的是,两个流都需要在指定的key上排序。

8.4.29.       Merge join

对两个不同的输入组件的数据集做合并关联。关联类型可以是内联、左外联、右外联和全外联。

需要注意的是,合并join的数据记录需要在指定的key上做排序。

8.4.30.       Java Script 值(JavaScript Value)

这个步骤允许你用JavaScript 语言做复杂的运算。使用的 JavaScript 引擎是 Rhino

1.5R5。

选项

步骤名称:步骤的名称,在单个转换中必须唯一

Java Script:步骤中的脚本。

字段:要添加到输出流中的字段。

8.4.31.       Excute SQL Script

    可以使用该组件执行sql 脚本。可以在整个Transformation初始化中执行一次(一般这种情况用于DDL语句)或在没输入该组件一行记录时执行一次(这种情况一般用于带参的DML语句)。

   注意:如果sql语句中的脚本失败,整个Transformation的执行将挂起。

8.4.32.       维度更新/查询(dimensionlookup/update)

该组件允许你执行Ralphkimball的两类缓慢变化维:第一类(update)和第二类(insert)。使用该组件不仅可以更新维表,还可以查询维表值。

8.4.33.       Oracle批量装载(Oraclebulk loader)

这个步骤允许你大批量加载数据到 Oracle 数据库,它将用一个正确的装载格式,然后

用 Oracle的 SQL*Loader 数据加载工具加载到指定的表中。

选项

步骤名称:步骤的名称,在单个转换中必须唯一。

连接:维表所在数据库的连接。

目标schema: 要写入数据的表的 schema 名称,表名中可以包含”.”。

Sqlldr path: SQL*Loader 数据加载工具的全路径。

装载方式: “自动加载”或者“手动加载” 。如果是“自动加载”,步骤将在用指

定的参数收到所有的输入后运行Sqlldr 工具。如果是“手动加载” ,将生成一个可

以作为后门使用的控制和数据文件。

加载动作:Append、Insert、Replace、Truncate。这些会映射到 sqlddr 的动作

来执行。

错误的最大行数:发生错误的行数,这时 sqlldr 将被中断。与 sqlldr 的“ERROR”

属性来通信。

提交:提交的行数,与sqlldr 的“ROWS”属性通信。

绑定大小:与 sqlldr 的“BINDSIZE”属性通信。

读取大小:与 sqlldr 的“READSIZE”属性通信。

控制文件:sqlldr 控制文件的名称。

数据文件:数据将被写入的数据文件的名称。

日志文件:日志文件的名称,可选。

坏文件:坏文件的名称,可选。

废文件:废文件的名称,可选。

编码:数据指定的编码格式,可以从下拉列表框中选择。

直接路径:直接路径加载的开关,与 sqlldr 的“DIRECT=TRUE”通信。

使用后删除cfg/dat 文件:加载后是否删除控制文件和数据文件的开关。

表字段:ORACLE 表中加载的表字段。

流字段:输入行中带来的字段。

8.4.34.       运行步骤的多个副本

右键单击每个Transformation步后都会出现一个菜单“改变开始复制的数量”,可以设置这个复制的数量,这个对于“数据库查询”组件来说,可以提高其执行的效率。但如果对于其他的组件,将使输出结果记录数翻倍,需要特别注意。另外,对于“数据库查询”组件,如果前一组件采用“数据迁移”是“复制到下一步”而不是“发送到下一步”也会造成“数据库查询”组件的输出记录翻倍。

8.4.35.       问题集

1、 在“表输入”组件中,如何从上一步中获得数据替换sql语句中的参数?

2、  

 

 

8.5 任务条目(Job Entries)

8.5.1             图标

8.5.2              Start

Start 是任务执行的入口,首先必须是任务可以执行。只有无条件的任务条目可以从

Start 入口连接。

8.5.3              Dummy

在一个任务中使用 Dummy条目将什么也不做。这可以使一个任务更清晰的展示,或者在

执行循环中使用。

8.5.4             转换

你可以用一个转换任务条目执行一个先前定义的转换。

选项

8.5.5             任务(Job)

你可以使用 Job 条目来运行一个先前定义的任务。

8.5.6             Shell

你可以使用 Shell 任务条目在任务运行的主机上执行一段 Shell 脚本。

备注:Shell 脚本能在控制台窗口输出文本,输出将转换到 Kettle 日志系统,这不会

影响 Shell脚本的运行。

备注: Windows 系统, 脚本被 “CMD.EXE/C” (NT/XP/20000) 或 “COMMAND.COM/C” (95/98)。

8.5.7             Mail

你可以使用 Mail 任务条目来发送 e-Mail。

8.5.8             SQL

你可以使用 SQL 任务条目执行 SQL 脚本,多行脚本之前用“;”隔开。

8.5.9             FTP

你可以使用 FTP 任务条目从 FTP 服务器上获取一个或者多个文件。

8.5.10         Table Exists

你可以使用 Tableexists任务条目检验数据库中是否存在某个表。

8.5.11         File Exists

你可以使用Fileexists任务条目检验在Kettle运行的服务器上中是否存在某个文件。

8.5.12         Evaluation(javascript)

你可以使用Evaluation 任务条目来计算一个布尔型的变量,这个变量可以在决定下一

个步骤是否将被执行时使用。用户可以使用以下变量:

 Errors:先前的任务条目的错误数

 Lines_input:从数据库或者文件读取的行数

  Lines_output:从数据库或者文件读取的行数

 Lines_updated:数据库表更新的行数

 Lines_read:从先前转换步骤读取的行数

 Lines_written:往下一个转换步骤写入的行数

 Files_retrieved:从FTP 找到的文件数

 Exit_status:Shell 脚本的退出状态

 Nr(integer):任务条目数。每下一个条目就会自动增长

  Iswindows:如果Kettle 运行在Windows 平台上就返回true

8.5.13         Create file

你可以使用 Create afile任务条目创建一个空文件,这对在任务中创建“触发器”是

有用的。

8.5.14         Delete file

你可以使用 Delete afile 任务条目来删除一个文件。

8.5.15         Wait for file

你可以使用 Wait forfile任务条目来等待一个文件。这个任务条目将定期的检查指定

的文件是否存在,以决定流程是否继续。这个条目可以不确定的等待文件或者经过一过段时

间后超时。

8.5.16         File compare

你可以使用 Filecompare 任务条目来比较两个文件的内容,控制任务的流程。当两个

文件相等时,成功流出节点将继续,否则失败节点将继续。

8.5.17         Zip files

这个步骤将按照你在对话框中指定的选择创建一个标准的 ZIP 归档。

选项

九、       Metadata layer

元数据层的用法和范围。

元数据来自数据库以及用户定义元数据通过使用PME(pentahometadata editor)定义并存储在数据库中。

元数据能从知识库中导出成xml文件保存。元数据与在pentahoserver的pentahosolution相关,它用作基于metadata报表服务的源。

使用pentaho报表设计工具,终端用户可以使用元数据创建报表。

当运行基于pentaho元数据报表时,报表引擎解释报表,查询规范(query specifications)以MQL(Metadataquery language)的形式存储在报表中。

下图是metadata 层使用范围概览。

十、       pentaho报表设计工具

10.1 报表架构

下图显示了报表架构的不同组件:

报表设计器定义报表规范

报表规范以xml的格式存放。

报表引擎根据报表规范和输出格式执行报表。

数据库连接定义能使用标准的中间件如JDBC来连接不同的数据源。在报表的最后阶段,报表查询被report engine直接执行。

Pentaho不仅包含了执行pentaho 报表的能力,而且还包含了jasper report 和BIRT报表的类库。Pentaho报表引擎通常叫做JFreeReport,其设计器完全就是JFree Report 设计器的再造版,被称为pentaho report Designer(PRD)。

10.2 基于web的报表(web-based reporting)

Pentaho web 门户(web portal)不仅提供了查看和分析内容,而且也提供了特殊报表(ad hoc report)的能力。

使用基本web的报表工具能创建的报表只限于没有图形、交叉和图片的分组列表。这种web工具官方名字叫Web Ad hoc query andreporting client,简称 WAQR。WAQR只能使用metadata model工作,它必须首先发布到服务器。

WAQR模板存储在pentaho-solutions/system/waqr/templates目录,每个模板都存储在它自己的目录下,增加自己的模板比较容易的方法就是拷贝其中一个文件夹然后再重命名它。可以手工修改模板,关于手工修改模板可以参考

http://wiki.pentaho.com/display/ServerDoc1x/Adhoc+Reporting+Templates

 

 

10.3 Pentaho Report Designer

Pentaho report Designer是一款图形化的前端报表设计工具。它的好处之一是可以使用metadata作为数据源进行报表编辑。报表可以直接使用report designer发布到pentaho BI平台。新的.prpt文件由pentaho server自动生成,因此不需要额外的包装就可以使PRD报表运行在门户网站上。

有两种方式创建报表:

l  The New option

l  The Report Wizard

报表的基本部分:

l  Page header/report footer。任何放在这部分中的元素都会出现在每一页。Page behavior style属性能指定page header或page footer显示在第一页还是最后一页或都不显示。

l  Report Header/Footer。任何放在这部分的内容都只会显示一次。Report header的典型用法是首页,显示所有参数或报表的简单简介或report title。Report footer用于报表的total。

l  Group Header/Footer。一张报表至少会有一个分组,每组会有一个header和footer来放置组标签或小计(subtotal)。分组可以嵌套,创建一个层级报表。

l  Details Body。只有最里层分组包含明细体,它包含来自查询的每一行记录,detail header和detail footer也是明细体的一部分。

l  No Data。这是一种特殊的数据带,显示无查询结果时的显示信息。

l  Watermark。这个主要用来设置背景。

一张PRD只能包含一个Data set,但是一张报表可以包含子报表。合并或使用子报表的的数据到主报表是不可能的。

10.3.1 创建数据库连接

有三种入口创建数据库连接:

l  Data 菜单->adddata source

l  Data tab->add datasources按钮

l  Data Tab->右键单击Data set

10.3.2 创建SQL Query

在创建或编辑Datasource的界面中,右边有创建query的按钮,点增加query按钮可以创建SQL Query,如下图:

10.3.3 增加参数

有以下两种途径进入增加参数窗口:

9、 Data菜单->add parameter

10、             右边Data Tab->右键parameters-> add parameter

                         增加参数窗口

Name中输入参数名

Label是在运行时参数前的提示标签

Value type指定参数的值类型

Data format是指定值的格式

Default value指定参数的缺省值

Mandatory如果选上,参数是必须的

Hidden指定该参数是否需要显示在页面上

Display type-指定参数显示的方式,是单选下拉框还是多选下拉框或文本输入等。

Query-指定参数的值以及显示的内容从哪个query获得,如果是文本输入,可以不指定。

增加参数后,可以在query中使用该参数,使用方式${parameterName}

十一、           保护pentaho管理控制台

1、 管理员账号设置

管理员账号信息存储在/resource/config目录下的login.properties文件中,其格式如下:

admin:OBF:1cb01j1s1kmy1jnb1wn31jk71kjo1iz21caa,server-administrator,content-administrator,admin

其中admin是用户名,OBF是其相应的密码。可以使用下面的命令来重新设置账号及其相应的密码。

java -cp lib/jetty-6.1.2.jar;lib/jetty-util-6.1.9.jarorg.mortbay.jetty.security.Password admin Admin1234

执行该命令需要进入administration-console目录。执行后将生成的OBF拷贝入login.properties中覆盖现有的值即可。

 

2、 使用ssl协议

为了启用https,只需要修改resource/config目录下console.properties文件中的console.ssl.enabled=false设置为true。

 

十二、           Pentaho PSW(pentaho schema worbench)

12.1安装PSW

下载相关软件,解压即可。

在解压后,需要把连接数据库相关驱动程序的Jar包文件拷贝到drivers目录中。

12.2启动psw

在windows环境下,直接运行workbench.bat启动PSW。在unix环境下,执行workbench.sh脚本启动PSW。

在开始设计之前,需要设置连接数据库的相关信息,点Tool->Connection菜单,在弹出的窗口如下图,填入相关的信息。

Driver Class Name –连接数据库的JDBC驱动类名。相应的jar包应该拷贝到drivers目录中。

Connection URL –连接数据库服务的连接字符串。

Username and password –连接数据库的用户名和密码。

12.3 cube设计

创建schema

创建cube,指定fact table

创建维度,指定维度的hierachy,level级相应的dimension table。

指定相应的指标字段。

12.4 Publishcube到BI Server

需要保证pentaho BIServer是可用的,即BI Server是启动了的。

打开要publish 到BI Server的cube所在schema,点file->publish菜单,在弹出框中输入BI server的地址,publish 的password(这个在\server\biserver-ce\pentaho-solutions\system目录下的publisher_config.xml文件中)和授信用户及其密码,如下图所示。

十三、           Mondrian

13.1 Mondrian 架构

  Mondrian系统包括四层:展现层(presentationlayer)、维度层(dimensionallayer)、聚合层(starlayer)和存储层(storagelayer),其架构如图13-1所示。

 

 

 

第一层:展现层,根据用户的不同应用有不同的展现方式,包括pivot tables,pie,line,chart等,也可以通过swing或jsp展现,可以展现成图片或动画。

第二层:维度层,这层主要解析、验证、和执行MDX查询。从效率考虑,维度层批量发单元请求(cell-requests)给聚合层。

第三层:聚合层。这层负责维护聚合缓冲。一个聚合是内存中的由一组维度值确定的指标集。

聚合层向存储层发请求。

第四层:存储层。这是一个关系数据库层,负责提供聚合的单元数据和维表数据。

 

13.2 设计Mondrian Schema

Mondrian Schema定义了一个多维数据库,它包含逻辑数据模型(包含cube、hierachies、成员)和该模型对物理模型的映射。

逻辑模型包含用来写MDX查询的结构:cube、hierachies、level、member。

物理模型是通过逻辑模型呈现的数据源。典型的是星形模型,一组关系数据库表。

  Mondrian Schema文件以xml文件的方式存放。

十四、           Pentaho Analysis Services

用户使用pentahoanalysis services(PAS)的事件流程如下图所示。

1、 终端用户通过http请求浏览、钻取到olappivot 表。

2、 Jpivot servlet接收请求并转变为mdx查询,查询发给mondrian rolap engine

3、 Mondrian解释MDX为sql.这部分技术称为 ROLAP

4、 关系数据库执行这种由Mondrian解释的sql查询。Mondrian接收执行结果

5、 Mondrian接收执行的结果并转换为多位结果集

6、 JPivot使用多位结果集并转换为html页面显示数据。

14.1 JPivot使用

在BI server中打开新的Analysis view,进入JPivot界面。如下图所示。

下图是JPivot的主要工具按钮:

 

 

 

 

 

 

 

 

 

1、可以通过使用钻取的三个按钮指定钻取的方式。通过图形显示来显示图形报表,通过图形设置来设置要显示的图形报表类型及其相关的属性设置。

2、通过MDX语句编辑框编辑MDX来生成报表

3、通过OLAP Navigator来设置报表,包括行列维度设置,filter(slice)设置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PRD概述 的相关文章

  • 数据分析Power BI数据可视化教程(四)——创建瀑布、漏点图以及修改图表颜色

    Power BI 是基于云的商业数据分析和共享工具 它能帮您把复杂的数据转化成最简洁的视图 通过它 您可以快速创建丰富的可视化交互式报告 即使在外也能用手机端 APP 随时查看 甚至检测公司各项业务的运行状况 只需它仪表板的一个界面就够了
  • Bi的ETL中怎么做增量处理

    增量抽取 增量抽取只抽取自上次抽取以来数据库中要抽取的表中新增或修改的数据 在ETL使用过程中 增量抽取较全量抽取应用更广 如何捕获变化的数据是增量抽取的关键 对捕获方法一般有两点要求 准确性 能够将业务系统中的变化数据按一定的频率准确地捕
  • 上线一套 BI 系统真的很贵?

    犹记 10 年前 接到第一份 offer 岗位 Title 就是 BI 工程师 从此也就和 BI 行业有了这份不解之缘 往前推 10 年 还是 08 北京奥运的时候 听起来似乎已经是很久远的样子 尤其是现在 BI 行业的生力军 90 后会问
  • BI数据分析方法小结

    author skate time 2011 04 06 对于电子商务网站 我们该如何对数据分析呢 当我们拿到数据的时候该做些什么 要回答这几个问题前 先回答如下问题 1 数据是给谁看的 2 看数据的人 想从数据中得到什么 或者用数据证明什
  • PRD概述

    一 Pentaho 整体架构 cc 二 Client tools 1 Report Designer 报表创建工具 如果想创建复杂数据驱动的报表 这是合适工具 2 Design Studio 这是基于eclipse的工具 你可以使用它来创建
  • 生产制造业ERP系统模块

    生产制造业ERP系统模块 1 计划管理系统 1 物料需求管理 支持如下功能 配置产品的管理 用户可以定义可选件 必选件 以及必选件中的可选件 BOM成批修改 BOM合法性 完整性和嵌套性检查 BOM单级正查和反查 多级正查和反查 以及综合查
  • 指标体系、原子指标和衍生指标

    指标 是一个可以量化目标事物多少的数值 有时候也称为度量 如 DNU 留存率等都是指标 原子指标和衍生指标 按照个人的理解 不加任何修饰词的指标就是原子指标 也叫度量 一般存在于olap表中 例如订单量 用户量的等等 而在原子指标上进行加减
  • 数据可视化需求评估内容

    一 参与沟通人员 1 业务需求提出方 2 IT或设计的业务系统运维部门 eg ERP部门 3 报表开发部门人员 二 会议确定内容 1 确定报表使用对象 2 各指标的数据来源是否都有 数据质量 3 数据缺失是否需要补录 补录方式 是否需要帆软
  • List写入Excel,poi操作

    前言 公司最近需要将所有的报表导出集中到报表中心系统中 需要做一个通用的Excel工具类 让各个业务系统简单高效的生成Excel报表 由于原先各个业务系统生成报表方式都不一样 有的地方还直接使用了CSV 因此需要统一生成Excel 本来想用
  • project 2007项目管理软件

    Microsoft Office Project 2007 项目管理软件 Microsoft Project 2003 2007是国际上最为盛行的基于网络的项目管理软件 在各类IT集成及开发项目 新产品研发 房地产项目 设计项目 工程建设项
  • AIX字体丢失——解决方案

    问题 图标中文显示为方框 报表工具FineReport 解决办法 拷贝中文字体到操作系统 1 将 WINDOWS Fonts 目录下SIMSUN TTC 宋体 拷贝到 AIX JDK安装目录 jre lib fonts 目录下 2 如果是j
  • 如何做好一个BI项目的规划和需求定义?

    正所谓磨刀不误砍柴工 一个项目的启动 先得从金字塔顶端做好规划 摸清楚需求 背景 客观条件 可投入资源等 本文 BI项目详解的第一篇 先来谈谈BI项目的规划和需求定义 全文共3000字 读完需要 8分钟 一 如何启动一个BI项目 Q 一个项
  • echarts百度地图2021最新实现方式(点,线结合)

    先在html文件中准备一个定义了高宽的 DOM 容器 div style width 100 height 900px div 引入js
  • PRD 使用Pentaho Metadata Editor(PME)生成的metadata做数据源(5)

    使用Pentaho Metadata Editor PME 生成的metadata做数据源 Pentaho Report Designer PRD 可以支持多种数据源输入方式 Pentaho Metadata Editor作为自家平台中的一
  • GB2312 汉字拼音对照表(6727字)

    http zh transwiki org wiki index php GB2312 E6 B1 89 E5 AD 97 E6 8B BC E9 9F B3 E5 AF B9 E7 85 A7 E8 A1 A8 啊 a 阿 a e 埃 a
  • Datart使用说明

    Datart使用说明 Datart安装记录 Refer 安装问题 前端源码编译 java 程序包datart data provider calcite parser impl不存在 启动基础步骤 Datart安装记录 Refer 最近在学
  • Excel重复查询

    工作中 经常对数据要求不重不漏 熟练用好基础工具很重要 比如 Excel筛选某一列的重复值方法 1 开始 gt 条件格式 gt 突出显示单元格规则 gt 重复值 2 写代码排查 重复的值会显示不一样的颜色 可肉眼观察到
  • 什么是BI分析系统

    BI分析系统是一种用于帮助企业进行数据分析和决策的工具 它通过收集 整理 分析和可视化庞大的数据集 帮助企业了解自身的业务状况 并提供有关未来预测和战略决策的有价值信息 BI分析系统以其强大的功能和灵活性 在企业管理和决策中发挥着重要的作用
  • Power bi 4.6 聚类图

    关注微信公共号 小程在线 关注CSDN博客 程志伟的博客 数据集链接见微信公共号底端 1 在Power BI中导入可视化效果 点击 选择导入自定义视觉对象 点击导入 2 选择我们需要导入的视觉对象 3 在可视化就会出现新的图形 4 导入 D
  • 矩阵转置代码,速度优化

    今天心血来潮 想写个CPU版本的矩阵转置代码 过几天写GPU版本的 按照我的想法 就是以下几种方式 1 gt 整块矩阵转置 横读纵写或纵读横写 2 gt 将矩阵分成固定大小的block block与block可以分成横读纵写或纵读横写 而b

随机推荐

  • kubernetes集群部署springcloud项目【AL】

    kubernetes集群部署springcloud项目 AL 先手工做 非自动化 环境 192 168 73 138 master 192 168 73 139 node1 192 168 73 140 node2 192 168 73 1
  • 修改tomcat catalina.bat调整jvm内存及tomcat窗口标题

    开发这么久了 总会时不时碰到内存溢出的错误 知道应该去 catalina 中去设置一下jvm的内存大小 可是每次都忘记具体在哪个位置 而且 很多时候 出现内存溢出的环境都不是本机 而是服务器搭建环境的时候 而此时也没太多时间让自己去读一下
  • 一道模拟赛的题

    前言 这是一个不错的题啊 在这里记录一下 题意 听说不是原创题 那我就放上来了 应该没有关系吧QAQ 有一个 n m 的地图 地图上的每一个位置可以是空地 炮塔或是敌人 你需要操纵炮塔消灭敌人 对于每个炮塔都有一个它可以瞄准的方向 你需要在
  • 怎么将服务器上的文件变成共享文件,服务器上文件夹怎么共享

    服务器上文件夹怎么共享 内容精选 换一换 华为云帮助中心 为用户提供产品简介 价格说明 购买指南 用户指南 API参考 最佳实践 常见问题 视频帮助等技术文档 帮助您快速上手使用华为云服务 CPH服务提供云手机批量控制功能 该功能可以通过A
  • 并发下的Map常见面试题

    HashMap 和 HashTable 有什么区别 java中的另一个线程安全的与HashMap极其类似的类是什么 同样是线程安全 它与HashTable在线程同步上有什么不同 HashMap 与 ConcurrentHashMap的区别
  • unityshader 消融效果

    代码 讲解都在注释上面了 冯乐乐的 unity shader 入门精要 相关知识 透明度 阴影计算 普通光照 法线贴图 Properties BurnAmount BurnAmount Range 0 1 0 LineWidth LineW
  • Web安全之SSRF漏洞

    内容 SSRF漏洞的危害 SSRF漏洞的挖掘 SSRF漏洞的防御 SSRF漏洞原理概述 背景 SSRF Server Side Request Forgery 服务器端请求伪造 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞 一般情况
  • kubernetes环境搭建

    kubernetes介绍 Kubernetes是Google在2014年6月开源的一个容器集群管理系统 使用Go语言开发 Kubernetes也叫K8S K8S是Google内部一个叫Borg的容器集群管理系统衍生出来的 Borg已经在Go
  • python win32gui.FindWindow()找不到窗口(亲测有效)

    今天又是不聪明的小侦探热爱敲代码的一天 前言 今天来为大家解决win32gui FindWindow 找不到窗口的问题 本来打算制作一个游戏脚本 去网上找了点教程自学 遇到了使用win32gui FindWindow 语句能打开web等窗口
  • 算术收益率与对数收益率(几何收益率)

    日收益率 假设 Pt P t P t 为某一投资品种的净值 算术收益率 Pt 1 1 rt Pt P t 1
  • python中的pickle模块:序列化与反序列化

    pickle模块实现了数据序列和反序列化 pickle模块使用的数据格式是python专用的 能够把Python对象直接保存到文件中 而不需要把他们转化为字符串 也不用底层的文件访问操作把它们写入到一个二进制文件中 Pickle模块中最常用
  • UE4_Python_自动化导入素材脚本_音频_图片_FBX

    1 新建项目 开启插件 2 项目设置 gt Python 3 资源加载脚本 AssetFunctions py 目录跟上图的目录一致 导入FBX import unreal asset path E fireAxe FBX asset pa
  • Blender 3.5 面的操作(二)

    目录 1 面操作 1 1 面的切割 1 2 整体切分 1 3 面的法向 1 4 正面 背面 1 5 翻转法向 1 6 填充面 1 7 面倒角 1 8 循环面 1 9 X Ray 透视模式 1 面操作 1 1 面的切割 切割工具 Knife
  • 服务器vmware新建虚拟机教程,如何创建虚拟机教程全解

    这部分教程我们将学习的是如何创建虚拟机 在创建虚拟机之前 vSphere Client是必要的软件之一 它用于访问ESX主机或vCenter的图形管理用户界面 vSphere Client安装在Windows计算机上 它是与虚拟基础架构进行
  • eclipse的workspace删除

    在最近的一个爬虫项目中 发现build进程很慢 然后就换了个workspace 但还是很慢最后也出错了 然后想删除这个workspace 我尝试删除了F盘对应的workspace文件夹 但是令人不解的是 eclipse竟然还可以switch
  • linux上安装和启动docker

    1 安装Docker 这里我们将Docker安装到CentOS7上 最好是将yum更新下 sudo yum update 2 安装需要的软件包yum util 如果不安装则第三步会出现yum config manager command n
  • 性能测试---LoadRunner

    目录 1 LoadRunner对比Jmeter的优势 2 LoadRunner三个组件之间的关系 3 学习VUG的使用 3 1创建性能测试脚本并进行录制 第一步 打开VUG 创建一个新的性能测试的脚本 第二步 对新建的脚本进行设置 第三步
  • macbook pro适合python编程么_编程应该选macbook pro还是thinkpad T(从性能角度出发)?...

    谢邀 背景 工作中要是用Python C 和一点点Java 需要用到很多机器学习算法 首先我把几个机型的推荐款列一下 所有机型 8代CPU版本 仅推荐该系列i5款 ThinkPad X系列 推荐X390 个人认为X系列近几年最良心的产品 性
  • 如何编译Python文件?

    编译Python文件 一 编译Python文件 二 批量生成 pyc 文件 一 编译Python文件 为了提高加载模块的速度 强调 强调 强调 提高的是加载速度而绝非运行速度 python解释器会在 pycache 目录中下缓存每个模块编译
  • PRD概述

    一 Pentaho 整体架构 cc 二 Client tools 1 Report Designer 报表创建工具 如果想创建复杂数据驱动的报表 这是合适工具 2 Design Studio 这是基于eclipse的工具 你可以使用它来创建