Kettle学习

发布时间 : 星期四 文章Kettle学习更新完毕开始阅读

1、系统日期(可变):系统时间,每次访问都13、本月的第一天00:00:00:这个月的开始 14、本月的最后一天23:59:59:这个月的结束 15、步骤拷贝:复制步骤 16、转换名称:转换的名称

17、转换的文件名:转换的文件名(仅针对XML) 18、最后修改转换的用户 19、转换的最后修改日期

20、转换ID:日志表中的批处理ID值 22、主机名:返回服务器的主机名 23、IP地址:返回服务器的IP地址

24、命令行参数1:命令行的第一个参数。 25、Kettle版本:返回Kettle的版本。

26:Kettle编译版本:返回Kettle核心库的编译版本 27:Kettle编译日起:Kettle核心库的编译日期 28:Current process identifier(PID):

在改变。

2、系统日期(固定):系统时间,有转换开始来决定。即转换开始时间

3、开始日期范围(转换):根据etl日志表的信息,确定日期范围的开始。

4、结束日期范围(转换):根据etl日志表的信息,确定日期范围的结束。

5、开始日期范围(作业):根据etl日志表的信息,确定日期范围的开始

6、结束日期范围(作业):根据etl日志表的信息,确定日期范围的结束。 7、昨天00:00:00:昨天的开始 8、昨天23:59:59:昨天的结束 9、今天00:00:00:今天的开始 10、今天23:59:59:今天的结束

11、上个月第一天的00:00:00:上个月的开始

12、上个月最后一天的23:59:59:上个月结束

生成记录

1、 限制:记录数的条数 2、 名称、值

9 / 42

Cube输入

从二进制Kettle Cube文件中读取数据行

Xbase输入

使用这一步可以读取大多数被称为Xbase family派生的DBF文件 1、 最常用的是FoxPro

Excel输入

1、 工作表名称

2、 起始行 :开始读取的行。 3、 起始列:开始读取的列。

4、 头部:检查工作表是否指定了一个头部行。 5、 非空记录:检查是否不需要空行输出。 6、 停在空记录:当遇空行时停止读取。

7、 文件名称字段:步骤输出指定一个包含文件名的字段。

8、 工作表名称字段:步骤输出指定一个包含工作表名称的字段。 9、 行号列:指定输出行号列字段名称。

XML输入

1、 Loop XPath: 选择/Rows/Row 2、 Namespace aware:

3、 Ignore comments:忽略注释

4、 Validate XML:验证XML ,一般不验证 5、 Ignore empty file:忽略空文件

6、 Include filename in output:输出步骤包含文件名字段 7、 Rownum in output:输出包含行号字段。

获取文件名

1、 Get:All files、Only folders、Only files

2、 输出字段包含:filename、short_filename、path、type(file/folder)、exists(Y/N)、ishidden、

isreadable、iswriteable、lastmodifiedtime、size、extension(扩展名)、uri、rooturi

获取文件行数

1、Rows Separator type:Carriage Return

10 / 42

文本文件输出

1、 Run this as a command instead:把结果输出到命令行或者脚本

2、 文件名里包含步骤数:如果你在多个拷贝中运行步骤,拷贝的数量将包含到文件名中。 3、 Include partition nr in filename:文件名中包含数据分区数量 4、 文件名包含日期 5、 文件名包含时间 6、 追加 7、 分隔符

8、 封闭符:封闭字段的一对字符,可选 9、 强制在字段周围加上封闭符 10、 头部:如果享有一个头部行,选中 11、 尾部:如果享有一个尾部行,选中 12、 格式:DOS文件的分隔符可以是回车或换行符 13、 编码:指定编码,如果空白就是用系统缺省的编码 14、 Compression(压缩):指定压缩的类型(zip,gzip) 15、 Right pad fields:在字段最后添加空格或者删除字符,直到长度达到指定 16、 Fast data dump(no formatting):当处理大量数据到一个文本文件时,提高性能.(不

包含任何格式化信息) 17、 分拆每一行:如果n比0大,用n行拆分文本文件,分割成多个部分。 18、 Add Ending line of file:指定输出文本的额结束行。

表输出

1、 Target Schema:目标模式。要写数据的表的Schema的名称。允许表明中包含“。”对数

据源来说是很重要的

2、 目标表:要写数据的表名。

3、 提交记录数量:在数据表中用事物插入行。如果n比0大,每n行提交一次连接。否则

不使用事务,速度会慢一些。

4、 裁剪表:在第一行数据插入之前裁剪表。

5、 忽略插入错误:使Kettle忽略比如违反主键约束之类的插入错误,最多20个警告将被

日志记录。在批量插入的时候这个功能不可用。 6、 使用批量插入:这个选项速度快,默认被选上。

7、 表分区数据:使用这个选项可以在多个表之间拆分数据。例如把数据放到表s1、s2、s3

中来代替之间插入数据到表s中。 例如:create or replace view sales as Select * from sales_200501 Union all Select * from sales_200502

8、 表名定义在一个字段里:使用此选项可以拆分数据到一个或者多个表里,目标表名可以

用你指定的字段来定义。例如如果你想存储客户性别数据,这些数据可能会存储到表M和表F里面。这个选项可以阻止这些字段插入到相应的表里。

9、 返回一个自动产生的关键字:往表中插入行时,是否产生一个关键字。

11 / 42

10、 自动产生关键字的字段名称:指定包含关键字的输出字段的字段名称。

插入/更新

1、 target schema:要写入数据的表的schema名称。允许表名包含”.”是很重要的。 2、 commit size:提交之前要改变的行数(插入/更新)。

3、 不执行任何更新:如果被选择,则不执行任何更新,只允许插入。

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

<、<=、between、like、is null、is not null

5、 用来查询的关键字:输入用来指定记录的关键字。 6、 更新字段:指定想要插入/更新的字段。

更新(可以用插入/更新替代)

更新只能用来更新,不能用来插入数据。

删除

执行删除操作。

注意:在输出中,插入/更新、删除、更新对应的是数据库的增、删、改。

序列化到文件(以前是Cube output)

这个步骤存储数据到一个二进制文件。这个步骤有个优势就是回读的时候,文本文件的内容不需要解析。这是因为元数据也同时存储在cube文件中。 用输出的Cube文件,用cube输入读入文件练习下。

XML输出

1、 文件名中包含步骤号码:如果你在多个拷贝中运行一个步骤,在文件扩展名的前面,将

包含拷贝的号码。

2、 分割每一个行:每个xml文件中包含的记录数。0表示不分割。 3、 正在编码:在XML文件头部指定。 4、 字段选项卡

5、 元素名称:xml文件使用的元素的名称,不指定,则元素名称和字段名相同。 6、 10进制:小数点可以是”.”或者”,” 7、 分组:分组符可以是”,”或者”.”

8、 空:表示当字段值为空时,则用此字段值代替。

12 / 42

联系合同范文客服:xxxxx#qq.com(#替换为@)