Pentaho产品系列浅谈

2016/07/25 15:12
阅读数 199
最近业务模块有各种的数据分析需求,最好的方法就是抽取一个分析库,并在此基础上做BI报表之类的数据展现。本来考虑直接选用阿里云上的产品比如采云间或者数据迁移工具,但是有很大的局限性(比如抽取的数据无法作为数据库提供JDBC服务),之后调研了一款流行的开源产品工具Kettle, 而它其实只是Pentaho产品线中实现DI (Data Integration)功能的产品之一而已。
产品简介
Pentaho(又叫胖大海)是世界上最流行的开源商务只能软件。它是一个基于Java平台的商业智能(Business Intelligence,BI)套件,之所以说是套件是因为它包括一个Web Server平台和几个工具软件:报表,分析,图表,数据集成,数据挖掘等,可以说包括了商务智能的方方面面。它的客户包含很多知名企业,更难能可贵的是,它的社区版完全免费。Pentaho是跨平台的,linux,windows上都可以安装,而且安装十分简单,就两个步骤:解压,执行。

官网: http://www.pentaho.com/products/
sourceforge项目: http://sourceforge.net/projects/pentaho/

本文主要介绍下Data Integration, Report Designer和Business Intelligence Server,基于Windows环境。

1
Data Integration
Pentaho Data Integration(PDI) 工具, 亦名为Kettle,作为Pentaho的一款ETL(Extract, Transform and Load)组件。当然它的功能不仅于此,还包括:
- 应用和数据库之间的数据迁移
- 从数据库导出数据到普通文件
- 海量数据加载到数据库
- 数据清理
- 集成应用
PDI的易用和图形化操作,不需要写任何的代码就可以完成你想要的操作。
2
Report Designer
Pentaho Report Designer(PRD)报表设计工具, 该设计器能够和Pentaho公司的商业智能平台或报表系统一起使用,是一个基于JFreeReport的开源系统。可以基于各种的数据源中提炼出人类可读的报表来。
其实报表是一整套开源工具,除了Report Designer,还有Report Engine 和 Report SDK,可用它的API进行定制的报表开发。
3
Business Intelligence Server
BI Server是一个J2EE平台的商业智能Web应用中心框架,Pentahao BI套件创建的各类内容都可以通过这个框架进行发布、存储、共享和管理。
它包含两个界面:
用户控制台供用户登录进去对数据进行操作,如报表、分析等;
管理控制台供管理员对用户、数据源和BI Server等做全局设置。
BI Server
为了将未来设计的各类任务和调度都由统一的中央资源库管理,Pentaho提供了 BI Server组件,为了下文工具的使用和发布的方便描述,这里先把BI Server安装好并做简要说明。
1
安装运行
➡  SourceForge上下载biserver-ce版,下载后解压即可。

➡  如需要修改默认的端口8080,修改\biserver-ce\tomcat\conf目录下的server.xml文件

➡   双击start-pentaho.bat启动BI Server。在我本地是报了一个异常 
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.cxf.jaxrs.utils.AnnotationUtils
从maven repository中下载javax.ws.rs-api-2.0-m10.jar放入/biserver-ce/tomcat/lib即可

➡  注意:biserver默认使用的是自带的hsqldb数据库,数据文件在biserver-ce\data\hsqldb, 就目前阶段不会有大量的报表分析和数据存储,暂时先用着。若有必要可以切换到mysql或者oracle之类的主流数据库。
但是必须提醒你官方和民间对于mysql的切换文档写的不全,而且更改的文件超出你的想象,本人试过N多方式方能启动,但是太遗憾修改记录没有留存好,而这点Pentaho做的实在有点Low,不知道是不是社区版的缘故...
https://anonymousbi.wordpress.com/2013/12/15/pentaho-bi-server-5-0-1ce-mysql-installation-guide/

➡  启动浏览器 http://localhost:8080/pentaho/, 默认首页有管理员和普通用户,密码都是password
➡  用Admin登录进去,进入Adminstration界面,可以对用户和密码进行更改
➡  回到Home界面,进入普通的用户管理界面,点击Browse File可以对各类文件进行管理或者调度等。



DI 工具 - Kettle
Kettle有四个主要组件:Spoon、Pan、Carte和 Kitchen。
Kettle是个首字母缩略词,代表 " Kettle E.T.T.L. Environment.", 包含
数据抽取  Extraction
数据转换  Transformation
数据传输  Transportation
数据加载  Loading

Spoon 是一个图形化工具,用来设计transformation和job, 这两者都可以靠其他两个工具Pan和 Kitchen来运行;是个很重要的工具

PAN 是一个数据转换引擎,运行由 Spoon 设计的Transformation 转换 , 可以是KTR文件或者在资源库中。Pan 是一个后台执行的程序,没有图形界面;

KITCHEN  是一个执行由 Spoon 设计的XML格式或者在资源库中Job的程序,通常都是通过调度批量运行。

Carte 是一个Web服务器,用于远程执行Transform和 Job。可以多台机器运行cluster环境进行管理;

参考
http://wiki.pentaho.com/display/EAI/.01+Introduction+to+Spoon
http://wiki.pentaho.com/display/EAI/Pan+User+Documentation
http://wiki.pentaho.com/display/EAI/Kitchen+User+Documentation
http://wiki.pentaho.com/display/EAI/Carte+User+Documentation

Job 与 Transformation 的差别 : 
Transformation 专注于数据的 ETL;
Job 的范围比较广,可以是Transformation ,也可以是 Mail 、 SQL 、 Shell 、 FTP 等等,甚至可以是另外一个 Job 。

从SourceForge上下载 DI压缩包,然后直接解压即可。如图有如下4个关键bat批处理程序。双击即可运行。

运行前请保证已安装JDK5以上版本,设置环境变量JAVA_HOME或者pentaho_java_home均可。
1
Spoon运行

首次打开后,可以先创建或者连接一个“资源库”。当然你也可以不创建资源库,只将每个任务以独立的文件存储到本地。

这里我们使用创建资源库统一管理资源的方式,进入“工具”-“资源库链接”,默认有三种存储方式:
➡ Pentaho中央资源库( BI Server 推荐
➡ 关系型数据库
➡ 本地文件系统
这里我们直接实践连接上刚才启动的biserver, 输入名称,用户名密码(刚才biserver的登录账号)。

注意:创建的任务发布到biserver的时候就是在您输入的用户名文件夹下,所以这里可以合理分配用户权限。

2
新建转换
新建一个作业,可以是操作数据库的(创建DB连接),也可以是调用存储过程,可以在核心对象里自行定制。
目前常用的可能还是表输入和表输出,即从一个数据库抽取到另一个数据库。

3
新建作业
新建一个作业,可以是操作数据库的(创建DB连接),也可以是应用代码,可以在核心对象里自行定制。
4
发布资源
只要保存或者另存为,在biserver上选择自己的目录即可保存成功。

发布完毕,可以通过登录biserver控制台查看是否发布成功。

Report Designer

安装后,直接解压运行,无需任何设置。

启动后,选择Open From Repository, 连接到biserver, 上面有一些实例报表供大家参考。
操作的基本步骤挺简单的,先创建好数据库的jdbc, 然后再对报表样式进行设计,关联好数据库字段,即可通过Print Preview预览你想要的报表并发布了。

支持各种常用格式,如pdf, html, excel等

总结
本文只是介绍了基本的使用、数据处理和分析展现技巧,其他比如Big Data产品可以集成各种流行的大数据分析工具(Hadoop,Spark和Sqoop等),也可以集成操作NoSQL数据库(mongodb, hbase), 甚至分析性数据库,比如SAP HANA。

这个产品更多强大的功能等待大家的继续发现探索。

END
贱贱的忧桑
微信:geniusiandev

这里的东西一点都不便宜!
长按二维码关注

本文分享自微信公众号 - 曲水流觞TechRill(TechRill)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部