Pentaho中国爱好者社区   Pentaho 授权经销商

 找回密码
 申请账户

用新浪微博连接

一步搞定

搜索
热搜: 活动 交友 discuz
Pentaho中国爱好者社区 门户 Kettle 查看内容

kettle学习总结(二)

2011-12-26 14:26| 发布者: admin| 查看: 24663| 评论: 0|来自: 百度文库

摘要: Transformation步骤 1. 输入类型: 1.1 Csv file input 读取csv文件,设置csv文件路径,可以设置csv文件的相对路径或者绝对路径,字段分隔符,文件读取的缓存大小等 1.2 Excel Input 读取excel文件,和csv文件读取 ...

Transformation步骤

1.      输入类型:

1.1 Csv file input

  读取csv文件,设置csv文件路径,可以设置csv文件的相对路径或者绝对路径,字段分隔符,文件读取的缓存大小等

1.2 Excel Input

  读取excel文件,和csv文件读取类似,增加了表单,表头,出错(是否忽略错误,严格的类型判断等)的处理

1.3  Property Input

  读取属性.properties文件

1.4 Table input

从数据库读数据,动态绑定参数的SQL语句,参数替换可以从上一个步骤从获取。

例如SELECT * FROM customer WHERE birthdate<’${current_date}’

这里的${current_date}在执行过程中会作为动态参数被替换掉。这个值是前一个转换步骤设置的。

注:但是测试过程中发现如果上一个步骤设置的变量,在table input里面获取不到,变量设置必须作为一个单独的转换先执行一次,然后才能获取到这个变量。

1.5 Text file input

  主要是txt文件内容等,和csv差不多。

1.6 Generate Rows

   生成一些固定字段的记录,主要用来模拟一些数据进行测试。

1.7 Get File Names

  读取给定目录或者文件全路径的文件名

1.8 Get System Info 

包括命令行输入的参数,操作系统时间,ip地址,一些特殊属性,kettle版本等

1.1 De-serialize from file

   从二进制kettle cube文件中读取记录

1.2 Access input

  读取access数据库

1.3 ESRI Shapefile Reader

1.4 Fixed file input 

读取固定大小文件

1.5 Generate random value

1.6 Get Files Rows Count 

获取文件内容的行数

1.7 Get SubFolder names

1.8 Get data from XML

xml文件解析出数据

1.9 LDAP Input

ldap库读取数据。

1.10             LDIF Input

读取ldapldif文件

1.11             Mondrian Input

MDX语言从Mondrian服务器上读取数据

1.12             RSS Input

1.13             S3 CSV Input

1.14             SalesForce Input

1.15             XBase input

  读取XBase系列文件,如Foxpro文件,主要是数据库语言

2.      输出类型

2.1 Table output

  将数据写入到数据库,可以指定是否truncate表,编辑前一步转换字段与现在表结构的字段映射关系。以及每次commit的记录数大小等。

2.2 Text file output

  将数据写入到文本文件,通常是csv文件

2.3 Insert / Update

        根据关键字找对应的记录,如果找不到则执行insert,否则执行update

2.4 Update

        insert/update类似,只是没有insert操作

2.5 Delete

   update类似,只是执行的是delete操作

2.6 Excel Output

  输出到excel,格式可以采用excel模板

 

2.7 Serialize to file

        将记录写到二进制文件中(cube文件)

2.8 Access Output

2.9  Properties Output

输出到properties文件

2.10             RSS Output

2.11             SQL File Output

将输出的sql insert语句保存到文件

2.12             Synchronize after merge

2.13             XML Output

  输出到xml文件

3.      Transform类型

3.1  Select values

用于选择列,重命名列,指定列长度或精度

3.2  Filter rows

通过使用一个表达式从输入行中过滤数据,将结果是TUREFALSE的行输出到不同的节点。表达式是“”“OPERATOR”“” 的形式,其中OPERATOR可以是 =<>, <, >, <=, >=, REGEXP,IS NULL,IS NOT NULL, IN LIST, CONTAINS, STARTS WITH, ENDS WITH 用户可以增加多个表达式,并用ANDOR连接。

3.3  Sort rows

对指定的列以升序或降序排序,当排序的行数超过5000时需要临时表。

3.4  Add sequence

为数据流增加一个序列,可以使用ORACLE中某一序列的值或由用户指定值

3.5  Dummy

不做任何处理,一般作为流程的终点。

3.6  Join Rows (catesian product)

对所有输入流做笛卡儿乘积。

3.7  Aggregate Rows

聚集行数据,提供SUMAVERAGECOUNTMINMAXFIRSTLAST聚集函数,该类型不提倡使用,将来会被GROUP BY 类型替代。

3.8  Java Script value

使用mozillarhino作为脚本语言,并提供了很多函数,用户可以在脚本中使用这些函数。例如 var prev_row; if (prev_row == null) prev_row = row; ... String previousName = prev_row.getString(“Name”, “-”); ... prev_row = row; 可以获得字段Name的前一条记录的值。

3.9  Row Normaliser

该步骤可以从透视表(PIVOT TABLE)中还原数据到事实表,如从表一转换成表二,需要使用该步骤。

3.10             Unique rows

去掉输入流中的重复行,在使用该节点前要先排序,否则只能删除连续的重复行。

3.11             Group by

分组

3.12             Calculator

提供了一组函数对列值进行运算,使用该方式比用户自定义JAVA SCRIPT脚本速度更快。

 

3.13             Add constants

增加常量值。

3.14             Row denormaliser

同正规化过程相反。

3.15             Row flattener

表扁平化处理除了上述基本节点类型外还定义了扩展节点类型,如SPLIT FIELDSEXECUTE SQL SCRIPTCUBE INPUTCUBE OUTPUT等。图一中创建了一个简单的数据流程示例,共包括5个节点,其中Table input节点使用了SQL SERVER数据库中的一张表(三条记录),Filter rows中定义了过滤条件,将符合条件的发送到file2节点,不符和条件的记录发送到Select values节点。 Select values节点中选择列,并对选择的列进行了设置,将结果发送到file1节点。file1,file2节点分别是两个文本文件节点,最终用来保存数 据。该流程运行后,可以在Log View面板中查看运行结果,如图四所示 table input结点输入3条记录,经过滤后输出到file2节点2条记录(OUTPUT列中的3是指2条记录加1行列名),输出到file1节点1条记录 OUTPUT列中的2是指1条记录加1行列名)。

1

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)

本文导航

Pentaho 技术支持电话: 13716483677 (Jason)       Pentaho 技术支持QQ:2253715

联系邮箱|Archiver|Pentaho中国爱好者社区 ( 京ICP备12007697号-2 )

GMT+8, 2017-9-20 22:49 , Processed in 0.024168 second(s), 12 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部