ETL工具Kettle

1 Kettle的基本概念

一个数据抽取过程,主要包括创建一个作业(Job),每个作业由一个或多个作业项(Job Entry)和连接作业项的作业跳(Job Hop)组成。每个作业项可以是一个转换(Transformation)或是另一个作业。一个转换由一个或多个步骤(Step)和连接步骤的(Hop)组成。

ETL工具Kettle_第1张图片

转换主要用于数据的抽取(Extraction)、转换(Transformation)以及加载(Load),比如读取文件、过滤输出行、数据清洗或加载到数据库等步骤。一个转换包含一个或多个步骤,每个步骤都是单独的线程,当启动转换时,所有步骤的线程几乎并行执行。步骤之间的数据以数据流方式传递。所有的步骤都会从它们的输入跳中读取数据,并把处理过的数据写到输出跳,直到输入跳里不再有数据就终止步骤的运行;当所有步骤都终止了,整个转换就终止了。由于转换里的步骤依赖前一个步骤获取数据,因此转换里不能有循环

相较于转换,作业是更加高级的操作。作业由一个或多个作业项(作业或转换)组成。所有的作业项是以某种自定义的顺序串行执行的。作业项之间可以传递一个包含了数据行的结果对象。当一个作业项执行完成后,再传递结果对象给下一个作业项。作业里可以有循环

跳是步骤之间带箭头的连接线,它定义了一个单向通道,用于连接两个步骤,实现将数据从一个步骤(写入数据到行集)流向另一个步骤(从行集中读取数据)。跳是两个步骤之间的被称为“行集”(Row Set)的数据行缓存(可以在转换设置中定义行集大小)。若行集满了,则向行集写数据的步骤将停止写入,直到行集里又有空间。若行集空了,则从行集读取数据的步骤就会停止读取,直到行集里又有可读取的数据行。跳对于向行集写入数据的步骤来说是输出跳,一个步骤可以拥有多个输出跳;跳对于从行集中读取数据的步骤来说是输入跳。

作业跳是作业项之间带箭头的连接线,它定义了作业的执行路径。

2 Kettle的基本功能

Kettle的基本功能包括转换管理作业管理。转换管理主要包括输入、输出、转换、应用、流程、脚本、查询、检验、作业、映射和批量加载等功能。作业管理主要包括通用、邮件、文件管理、条件、脚本、批量加载等功能。

3 安装Kettle

在Windows系统中打开浏览器,访问Kettle官网(https://sourceforge.net/projects/pentaho/),下载Kettle安装文件pdi-ce-9.1.0.0-324.zip。

把pdi-ce-9.1.0.0-324.zip解压缩到“D:\”目录下(或者也可以选择一个其他目录,比如“C:\”),会生成一个“data-integration”目录,该目录下就包含了Kettle。在data-integration目录里包含了Spoon的启动文件,即spoon.bat,双击该文件就可以启动Spoon,

ETL工具Kettle_第2张图片

ETL工具Kettle_第3张图片

ETL工具Kettle_第4张图片

4 数据抽取

1 把文本文件导入到Excel文件中
这里给出一个实例,演示如何使用Kettle把文本文件导入到Excel文件中,

具体包括如下步骤: 创建文本文件; 建立转换; 设计转换; 执行转换。

1.创建文本文件

在“D:\”目录下新建一个文本文件studentinfo.txt,其内容如图7-4所示,文件的第1行是字段名称,包括sno、name、sex和age,字段之间用“|”隔开,其余行都是记录,字段之间也是用“|”隔开。

ETL工具Kettle_第5张图片

2.建立转换

在Spoon主界面的“主对象树”栏目中,在“转换”上面单击鼠标右键,在弹出的菜单中点击“新建”。点击Spoon主界面左上角的“保存”图标,把这个转换保存到某个路径下并且名称为“text_to_excel”。

ETL工具Kettle_第6张图片

3.设计转换

在“核心对象”栏目中,在“输入”控件里把“文本文件输入”拖到右侧设计区域,然后在“输出”控件里把“Excel输出”拖到右侧设计区域,然后为这两个控件建立连线

ETL工具Kettle_第7张图片

放置文本文件输入和Excel输出两个控件

这里的连线就是前文介绍过的“跳”。为这两个控件建立连线的方法是,按住键盘上的Shift键,然后用鼠标左键单击“文本文件输入”控件图标,再用鼠标左键单击“Excel输出”控件图标,最后在其他空白区域单击鼠标左键,这样就建立了一条从“文本文件输入”到“Excel输出”的连线。

双击设计区域的“文本文件输入”控件,打开设置界面,点击“文件”选项卡,点击“文件或目录”右侧的“浏览”按钮,把studentinfo.txt文件添加进来,然后点击“增加”按钮,studentinfo.txt文件就会被增加到“选中的文件”中,增加后的效果如图7-8所示。

ETL工具Kettle_第8张图片

ETL工具Kettle_第9张图片

ETL工具Kettle_第10张图片

点击增加,成功添加文件,继续设置内容选项卡,修改分隔符和编码

ETL工具Kettle_第11张图片

获取字段

ETL工具Kettle_第12张图片

预览记录

ETL工具Kettle_第13张图片

ETL工具Kettle_第14张图片

双击设计区域的“Excel输出”控件图标,打开设置界面,在“文件”选项卡中,设置“文件名”为“D:\file”。

ETL工具Kettle_第15张图片

在“字段”选项卡中,点击界面底部的“获取字段”按钮,成功获取字段以后的效果,

ETL工具Kettle_第16张图片

ETL工具Kettle_第17张图片

然后把“sno”和“age”字段的“格式”设置为“#”。最后,点击“确定”按钮完成“Excel输出”控件的设置。全部设置完成以后,需要保存设计文件。

4. 执行转换

在转换设计界面中,点击三角形按钮开始执行转换,

在界面中点击“启动”,如果转换执行成功,

ETL工具Kettle_第18张图片,在两个控件图标上都会显示绿色的勾号。

ETL工具Kettle_第19张图片

这时,到D盘根目录下就可以看到新生成的文件file.xls,可以使用Excel软件打开file.xls查看内容

ETL工具Kettle_第20张图片

ETL工具Kettle_第21张图片

这样,就完成了把文本文件导入到excel文件中

你可能感兴趣的:(大数据采集与预处理,etl,数据仓库)