首页 > 大数据 > 数据挖掘 > KETTLE基本使用文档之文件导入
KETTLE基本使用文档
---数据应用小组 冯栋华
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取和转换高效稳定,目前是国内比较流行和应用比较广泛的一款ETL开源工具,以简便和稳定著称。
名字的由来:
Kettle 中文翻译名称为水壶,名字设计的含义为该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
上面提到,kettle 可以运行在Window、Linux、Unix,系统中只需配置JDK,就可以正常启动。至于系统配置JDK的方法,在这里就不具体的介绍了。
下面我们看一下kettle的启动过程:
1、解压下载到的kettle的安装包:
下载地址(官网地址):
http://community.pentaho.com/projects/data-integration/
下载完之后,解压即可,无需安装。
2、启动kettle,找到解压之后的SPOON window批处理文件,双击即可启动。
(系统一定要配置JDK,不然会报错的,无法启动)
启动之后的界面:
怎么样,有没有一种界面很干净的感觉,反正我是这么感觉啊,而且支持中文版呦。。。
kettle 有两种脚本文件,转换(transformation)和作业(JOB),transformation完成对数据的基础转换,JOB完成对整个数据流的控制。
当然数据库连接不算是一种脚本文件,只能说是其中的一个配置。
下面就让我们具体看下是怎么运用这些文件和配置的。
新建一个转换
点击文件--->新建--->转换 即可
让我们配置一个简单的转换体验一下:
新建之后可以保存到我们电脑的文件目录下,这样就会生成一个转换文件了,我们可以在上面做编辑。让我们做一个简单的转换来感受一下:
保存之后,就可以自己配置了,我们先配置一个从 CSV文件导数据到数据库表中的范例。
首先我们先拖一个CSV文件作为 输入端和一个表输出作为输出端到我们的转换中。如图:
拖元素的方式是:用鼠标点击直接移动到想要的位置即可,也可以用鼠标双击选中。
好了,现在有一个输入端和输出端,我们用先链接起来。划线的方法:
按着SHIFT键用鼠标从一端到另一端即可,完成后如下图:
在弹出的对话框选择主输出步骤,其中错误处理是指异常的步骤处理,这里我们先不介绍。
好了完成这步之后我们开始配置元素中的内容,配置方法,选中要配置的元素,双击即弹出配置框。 CSV输入配置如下:
点击获取字段即可得到表格中所有的字段,点击预览可以看到表中的数据格式。
然后我们配置表输出:
下面我们介绍下各个选项:
数据库连接,这个我们需要新建一个,直接在这里点击新建即可。
在配置之前一定要把JDBC的JAR包放到kettle根目录的/lib 文件夹下,完成之后需要重启kettle才会生效哦!
配置完成之后,点击测试:、
好了,这边配置完了之后,就可以接着往下配置了。
点击获取字段,就可以获取到数据库表中的字段和CSV文件中的字段。
然后点击字段映射,即可对字段进行对齐。如果两边的字段名称完全一致,可以点击猜一猜(很贴心),就可以自动对齐。
配置映射界面:
全部配置完成之后,点击确定即可,然后我们就完成了这个转换的配置工作。
PS:不要忘记保存哦(CTRL+S)。
运行转换:
配置完成之后,你一定是迫不及待的想要运行一下,看是否配置正确吧。
来让我们点击运行按钮,运行一下吧。
在转换的下面我们可以看到运行的日志哦。
选择‘日志’ SHEET页可以看到具体的步骤,当运行有异常的时候,里面会有详细的报错日志呦~~~~~
好了,到这里一个简单的转换我们就配置完成了,下面我们利用这个转换来创建一个JOB。
创建JOB更加简单,就是将我们创建完成的转换,让其按照一定的时间自动运行。配置如下:
按照上面新建转换的方法,新建一个作业(JOB)
你会看到 JOB和转换的 核心对象的使用发生了变化,让我们具体配置一个。
在通用的文件夹下,选择一个 ‘START’,‘转换’,‘成功’ 到JOB面板中。依次按照下面图中划线。划线方法和转换一样,不再详细描述。
上面完成之后,开始配置:
如上图中,重复即为按照下面的类型 循环执行。时间间隔可以选择,如下图:
跟数据库中配置JOB差不多的。
然后双击转换,点击后面的选择按钮选择配置好的转换文件:
这样就配置好了一个JOB,点击运行之后,就会按照你设置的时间运行。
好了,我们今天关于kettle的使用介绍就到这里。我们只是简单说了一下kettle的使用方法。
kettle里面还有很多实用又好玩的东西,等待大家一起发掘啊。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30109892/viewspace-1956699/ ,如需转载,请注明出处,否则将追究法律责任。