kettle插件 谁有kettle插件的例子发份给我!谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 开源ETL工具kettle系列之在应用程序中集成http://tech.it168.com/db/2008-03-19/200803191510476.shtml 说到ETL开源项目,Kettle当属翘首,因此,偶决定花点时间了解一下。 项目名称很有意思,水壶。按项目负责人Matt的说法:把各种数据放到一个壶里,然后呢,以一种你希望的格式流出。呵呵,外国人都很有联想力。 看了提供的文档,然后对发布程序的简单试用后,可以很清楚得看到Kettle的四大块: Chef——工作(job)设计工具 (GUI方式) Kitchen——工作(job)执行器 (命令行方式) Spoon——转换(transform)设计工具 (GUI方式) Span——转换(trasform)执行器 (命令行方式) 嗯,厨师已经在厨房里,勺子和盘子一应俱全,且看能做出如何的大餐? 一:Chef——工作(job)设计器 这是一个GUI工具,操作方式主要通过拖拖拉拉,勿庸多言,一看就会。 何谓工作? 多个作业项,按特定的工作流串联起来,开成一项工作。正如:我的工作是软件开发。我的作业项是:设计、编码、测试!先设计,如果成功,则编码,否则继续设计,编码完成则开始设计,周而复始,作业完成。 来,看看Chef中的作业项: 1.1: 转换:指定更细的转换任务,通过Spoon生成。通过Field来输入参数。 1.2: SQL:sql语句执行, 1.3: FTP:下载ftp文件。 1.4: 邮件:发送邮件。 1.5: 检查表是否存在, 1.6: 检查文件是否存在, 1.7: 执行shell脚本。如:dos命令。 1.8: 批处理。(注意:windows批处理不能有输出到控制台)。 1.9: Job包。作为嵌套作业使用。 1.10:JavaScript执行。这个比较有意思,我看了一下源码,如果你有自已的Script引擎,可以很方便的替换成自定义Script,来扩充其功能。 1.11:SFTP:安全的Ftp协议传输。 1.12:HTTP方式的上/下传。 好了,看看工作流: 如上文所述,工作流是作业项的连接方式。分为三种:无条件,成功,失败。这个没啥好说的,从名字就能知道它的意图。 嗯,为了方便工作流使用,提供了几个辅助结点单元(你也可将其作为简单的作业项): 1:Start单元,任务必须由此开始。设计作业时,以此为起点。 2:OK单元:可以编制做为中间任务单元,且进行脚本编制,用来控制流程。 3:ERROR单元:用途同上。 4:DUMMY单元:啥都不做,主要是用来支持多分支的情况。文档中有例子,不再多说。 存储方式: 支持XML存储,或存储到指定数据库中。 一些默认的配置(如数据库存储位置……),在系统的用户目录下,单独建立了一个.Kettle目录,用来保存用户的这些设置。 LogView:可查看执行日志。 二:Kitchen——作业执行器 是一个作业执行引擎,用来执行作业。这是一个命令行执行工具,没啥可讲的,就把它的参数说明列一下。 -rep : Repository name 任务包所在存储名 -user : Repository username 执行人 -pass : Repository password 执行人密码 -job : The name of the job to launch 任务包名称 -dir : The directory (don''t forget the leading / or \) -file : The filename (Job XML) to launch -level : The logging level (Basic, Detailed, Debug, Rowlevel, Error, Nothing) 指定日志级别 -log : The logging file to write to 指定日志文件 -listdir : List the directories in the repository 列出指定存储中的目录结构。 -listjobs : List the jobs in the specified directory 列出指定目录下的所有任务 -listrep : List the defined repositories 列出所有的存储 -norep : Don''t log into the repository 不写日志 嗯,居然不支持调度。看了一下文档,建议使用操作系统提供的调度器来实现调度,比如:Windows可以使用它的任务计划工具。 三:Spoon——转换过程设计器 GUI工作,用来设计数据转换过程,创建的转换可以由Pan来执行,也可以被Chef所包含,作为作业中的一个作业项。 下面简单列举一下所有的转换过程。(简单描述,详细的可见Spoon文档) 3.1:Input-Steps:输入步骤 3.1.1:Text file input:文本文件输入, 可以支持多文件合并,有不少参数,基本一看参数名就能明白其意图。 3.1.2:Table input:数据表输入 实际上是视图方式输入,因为输入的是sql语句。当然,需要指定数据源(数据源的定制方式在后面讲一下) 3.1.3:Get system info:取系统信息 就是取一些固定的系统环境值,如本月最后一天的时间,本机的IP地址之类。 3.1.4:Generate Rows:生成多行。 这个需要匹配使用,主要用于生成多行的数据输入,比如配合Add sequence可以生成一个指定序号的数据列。 3.1.5:XBase Input: 3.1.6:Excel Input: 3.1.7:XML Input: 这三个没啥可讲的,看看参数就明了。 3.2:Output-Steps: 输出步聚 3.2.1:Text file output:文本文件输出。 这个用来作测试蛮好,呵呵。很方便的看到转换的输出。 3.2.2:Table output:输出到目的表。 3.2.3:Insert/Update:目的表和输入数据行进行比较,然后有选择的执行增加,更新操作。 3.2.4:Update:同上,只是不支持增加操作。 3.2.5:XML Output: 3.3:Look-up:查找操作 DataBase: Stream: Procedure: Database join: 很简单,看看参数就明白了。 3.4:Transform 转换 (嗯,重点) 3.4.1:Select values: 对输入的行记录数据 的字段进行更改 (更改数据类型,更改字段名或删除) 数据类型变更时,数据的转换有固定规则,可简单定制参数。可用来进行数据表的改装。 3.4.2: Filter rows: 对输入的行记录进行 指定复杂条件 的过滤。 用途可扩充sql语句现有的过滤功能。但现有提供逻辑功能超出标准sql的不多。 3.4.3:Sort rows:对指定的列以升序或降序排序,当排序的行数超过5000时需要临时表。 3.4.4:Add sequence:为数据流增加一个序列, 这个配合其它Step(Generate rows, rows join),可以生成序列表,如日期维度表(年、月、日)。 3.4.5:Dummy:不做任何处理,主要用来作为分支节点。 我是想做一个kettle的插件!有没这方面的例子或文档!? 以前也用Kettle做过项目,是用程序调用的*kjb,*.ktr文件的,没有用本自带的BI平台,感觉不错! kettle 下载地址有一个pdi-open-docs-3.1.0-826.zip 里面有一些插件的代码,参考一下。 新手 求一个解决方法 redhat5下 tomcat6 启动报错,求高人指点 问个struts2验证出错返回保存原始填写数据问题 求教:Hibernate异常Could not execute JDBC batch update hibernate.hbm2ddl.auto 问题 求正则表达式 在PO 和ActionForm之间传递数据? 一个STRUTS的小问题,在线等 各位高手,谁能给我解释一下这段代码? 并发用户压力测试的问题 恳请推荐一下学习SSH框架的书籍,介绍一下学习的方法。 关于MyEclipse调试进入WebappClassLoader的问题(已解决问题需结贴,散分啦!)
http://tech.it168.com/db/2008-03-19/200803191510476.shtml
项目名称很有意思,水壶。按项目负责人Matt的说法:把各种数据放到一个壶里,然后呢,以一种你希望的格式流出。呵呵,外国人都很有联想力。
看了提供的文档,然后对发布程序的简单试用后,可以很清楚得看到Kettle的四大块:
Chef——工作(job)设计工具 (GUI方式)
Kitchen——工作(job)执行器 (命令行方式)
Spoon——转换(transform)设计工具 (GUI方式)
Span——转换(trasform)执行器 (命令行方式) 嗯,厨师已经在厨房里,勺子和盘子一应俱全,且看能做出如何的大餐? 一:Chef——工作(job)设计器
这是一个GUI工具,操作方式主要通过拖拖拉拉,勿庸多言,一看就会。
何谓工作? 多个作业项,按特定的工作流串联起来,开成一项工作。正如:我的工作是软件开发。我的作业项是:设计、编码、测试!先设计,如果成功,则编码,否则继续设计,编码完成则开始设计,周而复始,作业完成。
来,看看Chef中的作业项:
1.1: 转换:指定更细的转换任务,通过Spoon生成。通过Field来输入参数。
1.2: SQL:sql语句执行,
1.3: FTP:下载ftp文件。
1.4: 邮件:发送邮件。
1.5: 检查表是否存在,
1.6: 检查文件是否存在,
1.7: 执行shell脚本。如:dos命令。
1.8: 批处理。(注意:windows批处理不能有输出到控制台)。
1.9: Job包。作为嵌套作业使用。
1.10:JavaScript执行。这个比较有意思,我看了一下源码,如果你有自已的Script引擎,可以很方便的替换成自定义Script,来扩充其功能。
1.11:SFTP:安全的Ftp协议传输。
1.12:HTTP方式的上/下传。 好了,看看工作流:
如上文所述,工作流是作业项的连接方式。分为三种:无条件,成功,失败。这个没啥好说的,从名字就能知道它的意图。
嗯,为了方便工作流使用,提供了几个辅助结点单元(你也可将其作为简单的作业项):
1:Start单元,任务必须由此开始。设计作业时,以此为起点。
2:OK单元:可以编制做为中间任务单元,且进行脚本编制,用来控制流程。
3:ERROR单元:用途同上。
4:DUMMY单元:啥都不做,主要是用来支持多分支的情况。文档中有例子,不再多说。 存储方式:
支持XML存储,或存储到指定数据库中。
一些默认的配置(如数据库存储位置……),在系统的用户目录下,单独建立了一个.Kettle目录,用来保存用户的这些设置。
LogView:可查看执行日志。 二:Kitchen——作业执行器
是一个作业执行引擎,用来执行作业。这是一个命令行执行工具,没啥可讲的,就把它的参数说明列一下。
-rep : Repository name 任务包所在存储名
-user : Repository username 执行人
-pass : Repository password 执行人密码
-job : The name of the job to launch 任务包名称
-dir : The directory (don''t forget the leading / or \)
-file : The filename (Job XML) to launch
-level : The logging level (Basic, Detailed, Debug, Rowlevel, Error, Nothing) 指定日志级别
-log : The logging file to write to 指定日志文件
-listdir : List the directories in the repository 列出指定存储中的目录结构。
-listjobs : List the jobs in the specified directory 列出指定目录下的所有任务
-listrep : List the defined repositories 列出所有的存储
-norep : Don''t log into the repository 不写日志
嗯,居然不支持调度。看了一下文档,建议使用操作系统提供的调度器来实现调度,比如:Windows可以使用它的任务计划工具。 三:Spoon——转换过程设计器
GUI工作,用来设计数据转换过程,创建的转换可以由Pan来执行,也可以被Chef所包含,作为作业中的一个作业项。
下面简单列举一下所有的转换过程。(简单描述,详细的可见Spoon文档) 3.1:Input-Steps:输入步骤
3.1.1:Text file input:文本文件输入,
可以支持多文件合并,有不少参数,基本一看参数名就能明白其意图。
3.1.2:Table input:数据表输入
实际上是视图方式输入,因为输入的是sql语句。当然,需要指定数据源(数据源的定制方式在后面讲一下)
3.1.3:Get system info:取系统信息
就是取一些固定的系统环境值,如本月最后一天的时间,本机的IP地址之类。
3.1.4:Generate Rows:生成多行。
这个需要匹配使用,主要用于生成多行的数据输入,比如配合Add sequence可以生成一个指定序号的数据列。
3.1.5:XBase Input:
3.1.6:Excel Input:
3.1.7:XML Input:
这三个没啥可讲的,看看参数就明了。 3.2:Output-Steps: 输出步聚
3.2.1:Text file output:文本文件输出。
这个用来作测试蛮好,呵呵。很方便的看到转换的输出。
3.2.2:Table output:输出到目的表。
3.2.3:Insert/Update:目的表和输入数据行进行比较,然后有选择的执行增加,更新操作。
3.2.4:Update:同上,只是不支持增加操作。
3.2.5:XML Output: 3.3:Look-up:查找操作
DataBase:
Stream:
Procedure:
Database join:
很简单,看看参数就明白了。 3.4:Transform 转换 (嗯,重点)
3.4.1:Select values: 对输入的行记录数据 的字段进行更改 (更改数据类型,更改字段名或删除)
数据类型变更时,数据的转换有固定规则,可简单定制参数。可用来进行数据表的改装。
3.4.2: Filter rows: 对输入的行记录进行 指定复杂条件 的过滤。
用途可扩充sql语句现有的过滤功能。但现有提供逻辑功能超出标准sql的不多。
3.4.3:Sort rows:对指定的列以升序或降序排序,当排序的行数超过5000时需要临时表。
3.4.4:Add sequence:为数据流增加一个序列,
这个配合其它Step(Generate rows, rows join),可以生成序列表,如日期维度表(年、月、日)。
3.4.5:Dummy:不做任何处理,主要用来作为分支节点。