Kettle学习(7)

2025-08-22

映射(子转换)

如果你希望某个转换多次运行,你可以将重复的部分添加到一个映射中。映射是这样一个转换:

1、 指定输入如何从映射输入中到达。

2、 指定输入字段如何转换:字段被添加或者删除。

26 / 42

从结果获取记录

这个步骤返回在一个任务中先前步骤生成的行。你可以进入选择先前步骤生成的元数据字段。

复制记录到结果(字符串)

这个步骤允许你在一个任务中将行数据(内存中的)传递到下一个步骤。

Set Variables(设置变量)

这个步骤允许你在一个任务中或者虚拟机中设置变量。他仅仅可以用一行数据来设置变量值。 下面是可以用的范围设定:

1、 Valid in the virtual machine:整个虚拟机将知道这个变量,转换仅仅可以在单机模式下运行。 2、 Valid in the parent job:变量仅仅在父任务中可用。

3、 Valid in the grand-parent job:变量仅仅在祖父任务中合法。 4、 Valid in the root job:变量仅仅在根任务中合法。

27 / 42

Get Variables(获取变量)

这个步骤允许你获取一个变量,它可以返回行或者附加值到输入行。 备注:你需要指定完整的变量格式${varibale}或者%%variable%%

Get files from result(从以前的结果获取文件)

1、 每次在转换、任务、文件细节、任务条目、步骤等处理、使用或者创建一个文件时,文

件被捕获并且附加到结果中。你可以使用这个步骤访问那些信息。 2、 下面是输出的字段。 字段名 Type filename Path Parentorigin Origin Comment timestamp 类型 String String String String String String Date Somefile.txt C:\\Foo\\Bar\\somefile.txt Process files transformation Text File Input Read by text file input 2006-06023 12:34:56 示例 Normal,Log,Error,Error-line 等 Set files in result

在某种情况下,我们可以操纵输出结果中的文件列表。例如mail任务条目可以使用文件列表来关联邮件,可能你不需要发送所有的文件,你可以在此步骤中指定你想要发送的邮件。

28 / 42

Injector(记录注射器)

注射器主要针对一下人使用:想利用Kettle API和Java来注射记录到转换中。 下面是如何使用它:

1、 你可以使用RowProducer对象来访问一个Trans对象。

2、 你可以参考在包中的使用案例:be.ibridge.kettle.test.rowproducer 3、 使用以下代码

Trans trans = new Trans(…TransMeta); Trans.prepareException(args);

RowProducer rp = trans.addRowProducer(String stepName,int stepCopy)

然后你可以在转换中启动线程,在转换运行的时候注射行。 Trans.startThreads(); …

rp.putRow(Row SomeRowYouHaveToInject); …

Socket reader(套接字读入器)

套接字读入器是通过TCP/IP协议将数据从一个服务器向另一个服务器传输。

29 / 42

套接字输写器(Socket writer)

套接字输写器是通过TCP/IP协议将数据从一个服务器向另一个服务器传输。

聚合记录

这个步骤允许你在所有行的基础上快速的集合行。下面是可用的聚集类型: SUM/AVERAGE/COUNT/MIN/MAX/FIRST(字段的第一个值)/LAST(字段的最后一个值) 字段:聚合类型的字段。

备注:分组步骤也能实现相同的功能,还可以进行分组聚合,此步骤不可以,不推荐使用。

流XML输入(属sax解析,和Get data from xml功能相同)

这个步骤主要提供值的解析,他信赖与SAX解析器,在大文件解析上能够提供更好的性能。它与XML输入非常相似,仅仅在内容和字段制表符上略有不同。

1、 Include filename in:输出中将包含文件名字段。 2、 Rownum in output:输出包含行号 3、 Location(see also):指定xml文件中重复的元素经由的路径。以下的元素列被用来指定元

素及其位置:A:指定一个属性;Ep:指定位置定义的元素;Ea:指定属性定义的元素。例如Ea=Object/class:car,表示属性class的值为car的Object元素。 4、 重复:如果你想重复上一行中的值就是用此选项。 5、 Precision(精度)

6、 Position:Ep=proTypeId2/n ,其中n表示proTypeId2元素处于第n列。A=class/1:class

属性位于第一个位置。

30 / 42


Kettle学习(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2024版智能化电磁超声探伤仪项目(立项及贷款用)可行性研究报告

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219