Kettle:四大家族(核心组件)
Chef(中文:厨师)、Kitchen(中文:厨房)、Spoon(中文:勺子)、Pan(中文:平底锅)
- Chef—工作(job)设计工具 (GUI方式)。
- Kitchen—工作(job)执行器 (命令行方式)。
- Spoon—转换(transform)设计工具 (GUI方式)。
- pan—转换(transform)执行器 (命令行方式)。
Job和Transformation的差别:Transformation专注于数据的ETL,而Job的范围比较广,可以是Transformation,也可以是Mail、SQL、Shell、FTP等,甚至可以是另外一个Job。
spoon介绍
Spoon是Pentaho Data Integration(PDI)的图形用户界面(GUI)工具,用于设计、开发和管理ETL(抽取、转换和加载)流程。它是Pentaho套件的一部分,旨在帮助用户轻松地创建和管理数据集成作业。
以下是Spoon的一些主要特点和功能:
- 图形化界面:Spoon提供了一个直观的图形用户界面,使用户可以通过拖放和连接各种组件来设计ETL流程。这种可视化方式简化了作业的设计过程,使用户更容易理解和管理数据流。
- 组件库:Spoon内置了丰富的组件库,包括输入组件(如数据库查询、文件读取)、转换组件(如数据清洗、转换、过滤)和输出组件(如数据库写入、文件写入)。这些组件可以根据需求灵活组合,以构建复杂的数据集成流程。
- 数据转换和处理:Spoon提供了各种转换和处理功能,如字段映射、数据过滤、行合并、排序和聚合等。这些功能使用户能够对数据进行各种操作和处理,以满足ETL流程的需求。
- 调度和监控:Spoon允许用户设置作业的调度计划,以便在特定时间点自动执行作业。此外,它还提供了监控和日志记录功能,可以跟踪作业的执行状态和输出结果。
- 插件扩展:Spoon支持插件扩展,用户可以根据需要添加自定义组件或功能。这使得Spoon可以与其他系统或工具进行集成,以满足特定的数据集成需求。
总而言之,Spoon是一个功能强大且易于使用的ETL工具,提供了图形化的界面和丰富的组件库,使用户能够轻松设计、开发和管理复杂的数据集成作业。无论是初学者还是经验丰富的开发人员,都可以通过Spoon实现高效的数据集成和转换。
spoon kettle转换示例
1、打开kettle文件夹下的spoon.bat脚本(spoon.sh是Linux系统下的),当启动kettle工具,在工具栏处选择:文件–>新建–>转换,会创建一个转换,默认为转换1。可以修改转换名称,在工具栏:文件–>保持,可以对文件进行保存及重命名。当然也可以在主对象数一栏对转换点击右键,点击设置可以更改转换名称。如图:
更改名称后点击确定就OK了。2、创建表输入以及表输出空间,同时选中两者点击右键在快捷菜单中点击“新建节点连接”,在选择起始步骤和目标步骤后点击确定。结果如下图
3、利用kettle链接数据库
首先,需要在数据库中创建两个数据表,做数据准备。即数据表personal_a和数据表personal_b,如下图所示:
然后利用kettle创建一个转换,添加“表输入”控件、“javaScript代码”控件、“插入/更新”控件以及跳连接线,如下图所示:
点击表输入控件,对其进行配置。单击“新建”按钮,配置数据库连接,配置完成后单击“确认”按钮,mysql数据库连接的配置完成;再单击“获取SQL查询语句”按钮,弹出“数据库浏览器”窗口,展开field_stitching,并选中“表”菜单下的数据表personal_a;最后单击“确定”按钮,弹出“问题?”窗口,单击“是”按钮,“表输入”界面配置的最终效果如下图所示:
然后进行JavaScript控件配置,单击“获取变量”按钮,在字段窗口的“改名为”字段处添加新的字段名称username,如下图所示:
配置插入/更新控件,双击“插入/更新”控件进入,单击“新建”按钮,配置数据库连接,配置完成后单击“确认”按钮,如下图所示:
数据库名称为自己创建数据库名称,以及超级用户root及密码。点击浏览按钮,选中数据表personal_b,单击“确定”按钮,完成目标表的选择。
单击“获取字段”按钮,用来指定查询数据需要的关键字,这里选择的是数据表personal_b中的id字段和输入流里的id字段。
单击“编辑映射”按钮,弹出“映射匹配”窗口,选中其中的“源字段”选项框中的字段和“目标字段”选项框中的字段,然后单击Add按钮,依次将一对对映射字段添加至“映射”选项框中,若“源字段”选项框的字段和“目标字段”选项框的字段相同,则可以单击“猜一猜”按钮,让kettle自动实现映射。最后点击确定完成控件配置。
然后,单击转换工作区顶部的运行按钮,运行创建的转换field_stitching,实现将数据表personal_a中的surname字段和name字段进行拼接,并将结果数据插入到数据表personal_b中,如下图所示:
查看数据表personal_b是否已成功插入7条数据,如下图所示:
从表中可以看出,数据表personal_b中已插入了数据,并且username字段显示的是数据表personal_a中surname字段和name字段进行拼接后的结果数据,因此可以说明成功实现了将数据表personal_a中的surname字段和name字段进行拼接,并将结果数据插入到数据表personal_b中。
标签:转换,单击,示例,personal,kettle,Spoon,数据表,spoon,按钮 From: https://blog.51cto.com/zhangxueliang/7664354