Kettle调研
Kettle安装
Kettle安装可以通过以下链接获取kettle。
Kettle本身是不需要安装的直接就可以使用。但是在使用前情确保jdk已经安装完成。
Kettle入门
Kettle是一个ETL的产品,可以快速的完成数据的抽取、转换和装载。并且通过图形界面直观的进行项目的设计和测试。
同时它也可以通过命令行的方式部署在服务器上。
下面举一个例子说明Kettle的工作方式。Kettle的主要工作是通过spoon.bat设计器完成的。在设计器中我们可以创建
Kettle的任务。Kettle任务分为两种工作和转换。转换是更小粒度的处理。任务则是更复杂的处理,在任务中可以包含多个
转换和其它任务。
下面以官网中的例子来举例。实际操作一下。
这个任务的目的是读取csv文件中的容容,并创建xml结果文件。文件中包含csv文件中指定name字段的信息。
具体步骤如下:
首先创建start节点。表示任务的开始。然后添加转换节点并改名为get_file_name
。get_file_name
用于通过参数获
取文件名称。之后,添加File Exists
节点,用于判断文件是否存在。再之后再添加一个转换节点并改名为Hello_whith_paraments
。此转换为实际处理文件到xml的过程。
如图所示
get_file_name转换用于获取输入参数。并进行简单的判断。
如图所示
hello_with_paraments节点用于进行csv文件到xml的实际转换过程。
如图所示
Kettle优点
- 图形界面,直观
- 插件丰富,支持java\js\shell等脚本
- 支持pig,hive
Kettle目前的问题
- 对压缩文件的支持。好像只有zip的支持。如果要支持tgz等其它压缩包可能需要开发插件。
- 提供的功能模块比较少。两次开发的工作量比较大。比如md5检验等等。
- 对于新任务或简单任务支持比较好,如果流程复杂的话,开发效率会较低。