PentahoDataIntegration完全自学手册1211.docx
- 文档编号:24497420
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:180
- 大小:3.54MB
PentahoDataIntegration完全自学手册1211.docx
《PentahoDataIntegration完全自学手册1211.docx》由会员分享,可在线阅读,更多相关《PentahoDataIntegration完全自学手册1211.docx(180页珍藏版)》请在冰豆网上搜索。
PentahoDataIntegration完全自学手册1211
Pentaho
DataIntegration
完全自学手册
(孟菲斯著)
文档目录
更新记录
序号
时间
变更内容
编者
0001
2016-04-11
创建本文档,只是有些简单的介绍
孟菲斯
0002
2016-11-19
形成基本的文档架构涵盖安装、配置、开发
孟菲斯
0003
2016-11-20
完成转换步骤的文档架构知识点24大类228小类
孟菲斯
0004
2016-11-21
完成作业步骤的文档架构知识点15大类92小类
孟菲斯
0005
2016-12-01
对39大类下的320个小类进行初步的补充
孟菲斯
0006
2016-12-02
对320个小类中认为重点的内容通过感叹号予以区分
孟菲斯
0007
2016-12-03
对基础运行环境中命令行调用ETL做出补充仅限windows
孟菲斯
0008
2016-12-11
增加计划任务,性能调优
孟菲斯
0009
孟菲斯
第一章.Kettle基础介绍
一.1.核心组件
Spoon是构建ETLJobs和Transformations的工具。
Spoon可以以拖拽的方式图形化设计,能够通过spoon调用专用的数据集成引擎或者集群。
DataIntegrationServer是一个专用的ETLServer,它的主要功能有:
功能
描述
执行
通过PentahoDataIntegration引擎执行ETL的作业或转换
安全性
管理用户、角色或集成的安全性
内容管理
提供一个集中的资源库,用来管理ETL的作业和转换。
资源库包含所有内容和特征的历史版本。
时序安排
在spoon设计者环境中提供管理DataIntegrationServer上的活动的时序和监控的服务
一.2.组成部分
名称
描述
Spoon
通过图形接口,用于编辑作业和转换的桌面应用。
Pan
一个独立的命令行程序,用于执行由Spoon编辑的转换。
Kitchen
一个独立的命令行程序,用于执行由Spoon编辑的作业。
Carte
Carte是一个轻量级的Web容器,用于建立专用、远程的ETLServer。
一.3.概念模型
要了解Kettle的执行分为两个层次:
Job和Transformation。
两个层次的最主要区别在于数据传递和运行方式。
一.3.1.Transformation(转换)
Transformation(转换)是由一系列被称之为step(步骤)的逻辑工作的网络。
转换本质上是数据流。
下图是一个转换的例子,这个转换从文本文件中读取数据,过滤,然后排序,最后将数据加载到数据库。
本质上,转换是一组图形化的数据转换配置的逻辑结构。
转换的两个相关的主要组成部分是step(步骤)和hops(节点连接)。
转换文件的扩展名是.ktr。
一.3.2.Steps(步骤)
Steps(步骤)是转换的建筑模块,比如一个文本文件输入或者一个表输出就是一个步骤。
在PDI中有140多个步骤,它们按不同功能进行分类,比如输入类、输出类、脚本类等。
每个步骤用于完成某种特定的功能,通过配置一系列的步骤就可以完成你所需要完成的任务。
一.3.3.Hops(节点连接)
Hops(节点连接)是数据的通道,用于连接两个步骤,使得元数据从一个步骤传递到另一个步骤。
在上图所示的转换中,它像似顺序执行发生的,但事实并非如此。
节点连接决定了贯穿在步骤之间的数据流,步骤之间的顺序不是转换执行的顺序。
当执行一个转换时,每个步骤都以自己的线程启动,并不断的接受和推送数据。
注意:
所以(有)的步骤是同步开启和运行的,所以步骤的初始化的顺序是不可知的。
因为(此)我们不能在第一个步骤中设置一个变量,然后在接下来的步骤中使用它。
在一个转换中,一个步骤可以有多个连接,数据流可以从一个步骤流到多个步骤。
在Spoon中,hops就想是箭,它不仅允许数据从一个步骤流向另一个步骤,也决定了数据流的方向和所经步骤。
如果一个步骤的数据输出到了多个步骤,那么数据既可以是复制的,也可以是分发的。
一.3.4.Jobs(工作)
Jobs(工作)是基于工作流模型的,协调数据源、执行过程和相关依赖性的ETL活动。
Jobs(工作)将功能性和实体过程聚合在了一起。
下图是一个工作的例子。
一个工作中展示的任务有从FTP获取文件、核查一个必须存在的数据库表是否存在、执行一个转换、发送邮件通知一个转换中的错误等。
最终工作的结果可能是数据仓库的更新等。
工作由工作节点连接、工作实体和工作设置组成。
工作文件的扩展名是.kjb。
一.3.5.Variable(变量)
根据变量的作用域,变量被分为两类:
环境变量和kettle变量。
一.3.5.1.设置环境变量
环境变量可以通过editmenu下面的setenvironmentvariables对话框进行设置。
使用环境变量的唯一的问题是,它不能被动态的使用。
如果在同一个应用服务器中执行两个或多个使用同一环境变量的转换,将可能发生冲突。
环境变量在所以使用jvm的应用中可见。
一.3.5.2.设置变量
Kettle变量用于在一个小的动态范围内存储少量的信息。
Kettle变量是kettle本地的,作用范围可以是一个工作或转换,在工作或转换中可以设置或修改。
Setvariable步骤用来设置与此变量有关的工作从此设置其作用域,如:
父工作、祖父工作或根工作。
一.4.查看版本
一.5.选项设置
第二章.Kettle环境搭建
二.1.单机部署
二.1.1.下载kettle
二.1.2.安装kettle
Kettle是java开发的只要准备好java环境解压缩后即可运行,只是需要注意的是连接oracle需要ojdbc驱动,需要将ojdbc7.jar放到。
./data-integration/lib然后再运行Spoon
setxJAVA_HOME"C:
\Java\jdk1.7.0"-m
setxpath"%path%;%%JAVA_HOME%%\bin;"-m
yum-yinstalljava-1.8.0-openjdk*
yuminstallepel-release
yuminstallwebkitgtk
echo"JAVA_HOME=/etc/alternatives">>/etc/profile
echo"PATH=$JAVA_HOME/bin:
$PATH">>/etc/profile
echo"CLASSPATH=.:
$JAVA_HOME/lib/dt.jar:
$JAVA_HOME/lib/tools.jar">>/etc/profile
echo"KETTLE_HOME=/u01/app/kettle">>/etc/profile
source/etc/profile
carte127.0.0.15001-s-ucluster-pcluster
二.1.3.运行Spoon
下面是在不同的平台上运行Spoon所支持的脚本:
Spoon.bat:
在windows平台运行Spoon。
Spoon.sh:
在Linux、AppleOSX、Solaris平台运行Spoon。
二.2.集群部署
1.Carte简介
Carte是Kettle内置的一个小型web服务端程序,使用Jetty作为web容器,提供http服务让客户端机器调用(Servlet方式实现),它可以被用来远程执行转换、作业以及组成Kettle集群。
2.Carte部署配置
2.1启动方法
Windows操作系统使用Carte.bat来启动Carte服务,Linux操作系统则使用carte.sh来启动Carte服务。
启动文件均位于Kettle安装包目录下。
2.2启动配置
当运行Carte.bat或者carte.sh,默认不带参数会输出其正确的使用示例,如下所示:
....
Usage:
Carte[Interfaceaddress][Port]
Example:
Carte127.0.0.18080
Example:
Carte192.168.1.2218081
Example:
Carte/foo/bar/carte-config.xml
Example:
Carte
Carte的启动配置有两种方式,以Windows操作系统为例,分别是:
Carte.bat[ip][port]
or
Carte.bat[xml_cfg_file]
第一种方式使用两个配置参数ip和port来启动Carte,这种方式适用于测试环境。
第二种方式通过指定配置文件xml_cfg_file来启动Carte,所有的配置项都存放在配置文件中,这种方式适用于生产环境。
【注意】
(1)若要使用Carte部署集群必须采用第二种方式。
(2)切记绑定的ip如果使用localhost,内网中其他机器也无法访问你的Carte服务,所以建议绑定Carte的ip不要设置为localhost。
(3)配置文件路径可以采用绝对路径或者相对路径,相对路径eg:
Carte.bat./pwd/carte-config-8081.xml
例子中配置文件使用是相对于Kettle的安装目录的子目录pwd里面的carte-config-8081.xml。
2.3Cartexml文件配置详解
Carte的xml配置文件内容示例:
--
可见所有的配置项都包含在
下面简要介绍各个xml配置节点的使用:
2.3.1slaveserver节点
2.3.2masters节点
masters节点不是必选的,当配置Carte加入集群的时候才需要配置。
集群的概念将在后面章节说明。
每一个master节点对应一个Cartemasterserver。
2.3.3report_to_masters节点
如果要配置成动态集群,必须指定
关于动态集群的概念请参考后面章节内容。
2.3.4max_log_lines节点
指定Carte中每个已经运行的转换或者作业的日志在内存中能够保存的最大行数。
2.3.5max_log_timeout_minutes节点
指定Carte中每个已经运行的转换或作业生成的日志在内存中保留的时间,单位为分钟。
超过指定时间的日志记录将被清除掉,防止Carte占用过多的内存空间。
【注意】建议生产环境适当地配置该值。
对于使用频繁的Carte服务适当降低该值,防止Carte服务运行一段时间后占用的内存越来越多,避免出现OOM。
2.3.6object_timeout_minutes节点
指定Carte中每个存在的转换或者作业对象在内存中保留的时间,单位为分钟。
超过指定时间的这些对象将被清除,从而被JavaGC回收,防止Carte占用过多的内存空间。
【注意】建议生产环境适当地配置该值,以便JavaGC能够回收多余的对象占用空间,减少系统内存使用。
防止OOM。
2.3.7(*)repository节点
示例:
这个配置在Kettle5+版本才支持,配置该选项以便Carte能够连接到资源库,执行资源库里面的转换或者作业。
请求的Servlet为runJob和runTrans,使用示例如下:
(1)runJob
*
(2)runTrans
*
3.Carte集群
Kettle使用Carte来部署集群,Kettle集群概念有两个,普通集群和动态集群,集群的使用需要在Spoon界面中配置。
集群中有两个角色,master和slave,不管是普通集群还是动态集群,master只能有一个。
3.1普通集群
普通集群在使用前就要确定哪几台Carte服务来组成一个集群,并且通过指定其中一台Carte服务为master。
3.2动态集群
而动态集群,只要指定一台Carte作为master,其他Carteslaveserver不需要指定,而是通过在Carte启动时的配置文件参数
因为其规模可以动态扩展或者缩小,所以称为动态集群。
动态集群更加迎合当前云计算动态利用计算资源的概念。
【注意】如果一个作业的某个转换步骤指定在一个动态集群里面运行,那么当运行过程中集群再增加一台Carte服务,运行中的转换步骤也不用使用其计算资源,而如果当运行过程中集群某台正在参与转换步骤计算的Carte服务被意外停止,将会造成这个作业运行失败。
二.3.运行方式
二.3.1.转换执行器Pan
二.3.1.1.Pan参数介绍
序号
参数名称
中文解释
1
/rep
资源库名称
2
/user
资源库用户名
3
/pass
资源库密码
4
/trans
要启动的转换名称
5
/dir
目录(不要忘了前缀/)
6
/file
要启动的文件名(转换所在的XML文件)
7
/level
日志等级(基本,详细,调试,行级,错误,没有)
Error:
只显示错误
Nothing:
不显示任何输出
Minimal:
只使用最少的记录
Basic:
这是默认的基本日志记录级别
Detailed:
详细的日志输出
Debug:
以调试为目的,非常详细的输出
Rowlevel:
使用行级记录,会产生大量的数据
8
/logfile
设置日志文件,要写入的日志文件
9
/listdir
列出资源库里的目录
10
/listtrans
列出指定目录下的转换
11
/listrep
列出可用资源库
12
/exprep
将资源库里的所有对象导出到XML文件中
13
/norep
不要将日志写到资源库中
14
/safemode
安全模式下运行:
有额外的检查
15
/version
显示版本,校订和构建日期
16
/param
指定命名参数Setanamedparameter
FOO=bar
17
/listparam
Listinformationconcerningthedefinednamedparametersin
thespecifiedtransformation.
18
/metrics
Gathermetricsduringexecution
19
/maxloglines
ThemaximumnumberofloglinesthatarekeptinternallybyKettle.Setto0tokeepallrows(default)
20
/maxlogtimeout
Themaximumage(inminutes)ofaloglinewhilebeingkeptinternallybyKettle.Setto0tokeepallrowsindefinitely(default)
二.3.1.2.Pan实例讲解:
Windows
Pan:
Pan是一个数据转换引擎,负责从不同的数据源读写和转换数据。
@echooff
setKETTLE_PATH=C:
\Green_Soft\data-integration
setJOB_PATH=C:
\
CALL%KETTLE_PATH%\pan/fileC:
\2.ktr/levelDetailed/logfileC:
\2.log
二.3.1.3.Pan实例讲解:
Linux
/u01/soft/kettle/data-integration/pan.sh--level=Basic\
>>./log/HLSETL$(date-d"today"+"%Y%m%d_%H%M%S").LOG
二.3.2.任务执行器Kitchen
二.3.2.1.Kitchen参数介绍
序号
参数名称
英文解释
中文解释
1
-rep
Repositoryname
任务包所在存储名
2
-user
Repositoryusername
执行人
3
-pass
Repositorypassword
执行人密码
4
-job
Thenameofthejobtolaunch
任务包名称
5
-dir
Thedirectory(don''tforgettheleading/or\)
6
-file
The(JobXML)tolaunch
7
-level
Thelogginglevel(Basic,Detailed,Debug,Rowlevel,Error,Nothing)
指定日志级别
8
-log
Theloggingwriteto
指定日志文件
9
-listdir
Listthedirectoriesintherepository
列出指定存储中的目录结构
10
-listjobs
Listthejobsinthespecifieddirectory
列出指定目录下的所有任务
11
-listrep
Listthedefinedrepositories
列出所有的存储
12
-norep
Don''tlogintotherepository
不写日志
13
/version
showtheversion,revisionandbuilddate
14
/param
Setanamedparameter
FOO=bar
15
/listparam
Listinformationconcerningthedefinedparametersinthespecifiedjob
16
/export
Exportsalllinkedresourcesofthespecifiedjob.TheargumentisthenameofaZIPfile
17
/maxloglines
ThemaximumnumberofloglinesthatarekeptinternallybyKettle.Setto0tokeepallrows(default)
18
/maxlogtimeout
Themaximumage(inminutes)ofaloglinewhilebeingkeptinternallybyKettle.Setto0tokeepallrowsindefinitely(default)
options后面可以是=也可以是:
也可以是空格
kitchen.bat/filed:
\ 或者-file=D:
\或者/file:
D:
\等等都可以。
二.3.2.2.Kitchen实例讲解:
Windows
kitchen.bat/norep->>kitchen_%date:
~0,10%.log
上面的含义是,使用kitchen.bat命令来执行job文件,job文件的存放路径是D:
/kettledata/mysal2orcle.kjb,并且将执行的结果输出到 kitchen_%date:
~0,10%.log文件中。
kitchen.bat/norep-
kitchen.bat/norep-
示例:
1.Windows中多个参数以/分隔,key和value之间以:
分隔
✓作业存储在文件
Kitchen.bat/level:
Basic>D:
\etl.log/file:
F:
\Kettledemo\email.kjb
✓作业存储在数据库
Kitchen.bat/repkettle/useradmin/passadmin/jobF_DEP_COMP
(Rep的值为数据库资源库ID)
使用javawebstart方式运行的配置方法
命令行方式
1)Windows下执行kitchen.bat,多个参数之间以“/”分隔,Key和value以”:
”分隔
例如:
kitch
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PentahoDataIntegration 完全 自学 手册 1211
![提示](https://static.bdocx.com/images/bang_tan.gif)