首页 > 其他分享 >kettle教程:spoon kettle数据转换示例

kettle教程:spoon kettle数据转换示例

时间:2023-09-30 15:32:04浏览次数:40  
标签:转换 单击 示例 personal kettle Spoon 数据表 spoon 按钮


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的一些主要特点和功能:

  1. 图形化界面:Spoon提供了一个直观的图形用户界面,使用户可以通过拖放和连接各种组件来设计ETL流程。这种可视化方式简化了作业的设计过程,使用户更容易理解和管理数据流。
  2. 组件库:Spoon内置了丰富的组件库,包括输入组件(如数据库查询、文件读取)、转换组件(如数据清洗、转换、过滤)和输出组件(如数据库写入、文件写入)。这些组件可以根据需求灵活组合,以构建复杂的数据集成流程。
  3. 数据转换和处理:Spoon提供了各种转换和处理功能,如字段映射、数据过滤、行合并、排序和聚合等。这些功能使用户能够对数据进行各种操作和处理,以满足ETL流程的需求。
  4. 调度和监控:Spoon允许用户设置作业的调度计划,以便在特定时间点自动执行作业。此外,它还提供了监控和日志记录功能,可以跟踪作业的执行状态和输出结果。
  5. 插件扩展:Spoon支持插件扩展,用户可以根据需要添加自定义组件或功能。这使得Spoon可以与其他系统或工具进行集成,以满足特定的数据集成需求。

总而言之,Spoon是一个功能强大且易于使用的ETL工具,提供了图形化的界面和丰富的组件库,使用户能够轻松设计、开发和管理复杂的数据集成作业。无论是初学者还是经验丰富的开发人员,都可以通过Spoon实现高效的数据集成和转换。

spoon kettle转换示例

1、打开kettle文件夹下的spoon.bat脚本(spoon.sh是Linux系统下的),当启动kettle工具,在工具栏处选择:文件–>新建–>转换,会创建一个转换,默认为转换1。可以修改转换名称,在工具栏:文件–>保持,可以对文件进行保存及重命名。当然也可以在主对象数一栏对转换点击右键,点击设置可以更改转换名称。如图:

kettle教程:spoon kettle数据转换示例_控件


更改名称后点击确定就OK了。2、创建表输入以及表输出空间,同时选中两者点击右键在快捷菜单中点击“新建节点连接”,在选择起始步骤和目标步骤后点击确定。结果如下图

kettle教程:spoon kettle数据转换示例_字段_02

3、利用kettle链接数据库

首先,需要在数据库中创建两个数据表,做数据准备。即数据表personal_a和数据表personal_b,如下图所示:

kettle教程:spoon kettle数据转换示例_控件_03


然后利用kettle创建一个转换,添加“表输入”控件、“javaScript代码”控件、“插入/更新”控件以及跳连接线,如下图所示:

kettle教程:spoon kettle数据转换示例_kettle_04


点击表输入控件,对其进行配置。单击“新建”按钮,配置数据库连接,配置完成后单击“确认”按钮,mysql数据库连接的配置完成;再单击“获取SQL查询语句”按钮,弹出“数据库浏览器”窗口,展开field_stitching,并选中“表”菜单下的数据表personal_a;最后单击“确定”按钮,弹出“问题?”窗口,单击“是”按钮,“表输入”界面配置的最终效果如下图所示:

kettle教程:spoon kettle数据转换示例_控件_05


然后进行JavaScript控件配置,单击“获取变量”按钮,在字段窗口的“改名为”字段处添加新的字段名称username,如下图所示:

kettle教程:spoon kettle数据转换示例_数据_06


配置插入/更新控件,双击“插入/更新”控件进入,单击“新建”按钮,配置数据库连接,配置完成后单击“确认”按钮,如下图所示:

kettle教程:spoon kettle数据转换示例_kettle_07


数据库名称为自己创建数据库名称,以及超级用户root及密码。点击浏览按钮,选中数据表personal_b,单击“确定”按钮,完成目标表的选择。

kettle教程:spoon kettle数据转换示例_kettle_08


单击“获取字段”按钮,用来指定查询数据需要的关键字,这里选择的是数据表personal_b中的id字段和输入流里的id字段。

kettle教程:spoon kettle数据转换示例_控件_09


单击“编辑映射”按钮,弹出“映射匹配”窗口,选中其中的“源字段”选项框中的字段和“目标字段”选项框中的字段,然后单击Add按钮,依次将一对对映射字段添加至“映射”选项框中,若“源字段”选项框的字段和“目标字段”选项框的字段相同,则可以单击“猜一猜”按钮,让kettle自动实现映射。最后点击确定完成控件配置。

然后,单击转换工作区顶部的运行按钮,运行创建的转换field_stitching,实现将数据表personal_a中的surname字段和name字段进行拼接,并将结果数据插入到数据表personal_b中,如下图所示:

kettle教程:spoon kettle数据转换示例_kettle_10


查看数据表personal_b是否已成功插入7条数据,如下图所示:

kettle教程:spoon kettle数据转换示例_spoon_11


从表中可以看出,数据表personal_b中已插入了数据,并且username字段显示的是数据表personal_a中surname字段和name字段进行拼接后的结果数据,因此可以说明成功实现了将数据表personal_a中的surname字段和name字段进行拼接,并将结果数据插入到数据表personal_b中。


标签:转换,单击,示例,personal,kettle,Spoon,数据表,spoon,按钮
From: https://blog.51cto.com/zhangxueliang/7664354

相关文章

  • 构建国际化的海外版外送商城系统:代码示例与实现
    在快节奏的现代生活中,外送服务变得越来越受欢迎,因此开发一个高效便捷的外送商城系统至关重要。本文将通过代码示例来介绍如何构建一个简单的外送商城系统,以展示其核心功能和工作原理。#导入所需的库importrandom#模拟商店数据shops=[{"name":"餐厅A","menu":{"汉......
  • fmt 库简介和示例【GO 基础】
    〇、关于fmtfmt标准库是Go语言标准库的一部分,提供了格式化字符串、输入输出等基本功能。通过fmt库,我们可以进行简单的格式化输出、读取用户输入、错误输出等操作。fmt库实现了类似C语言printf和scanf的格式化I/O,主要分为向外输出内容和获取输入内容两大部分,本文将......
  • 27、Flink 的SQL之SELECT (Pattern Recognition 模式检测)介绍及详细示例(7)
    Flink系列文章1、Flink部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接13、Flink的tableapi与sql的基本概念、通用api介绍及入门示例14、Flink的tableapi与sql之数据类型:内置数据类型以及它们的属性15、Flink的tableap......
  • 27、Flink 的SQL之SELECT (Group Aggregation分组聚合、Over Aggregation Over聚合 和
    文章目录Flink系列文章一、GroupAggregation分组聚合1、count示例2、groupby的聚合示例3、distinct聚合4、GROUPINGSETS1)、ROLLUP2)、CUBE5、Having二、OverAggregation1、语法1)、ORDERBY2)、PARTITIONBY3)、RangeDefinitions4)、RANGEintervals5)、ROWintervals2、示例三、......
  • 27、Flink 的SQL之SELECT (SQL Hints 和 Joins)介绍及详细示例(2-2)
    Flink系列文章1、Flink部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接13、Flink的tableapi与sql的基本概念、通用api介绍及入门示例14、Flink的tableapi与sql之数据类型:内置数据类型以及它们的属性15、Flink的tableapi与s......
  • 27、Flink 的SQL之SELECT (窗口聚合)介绍及详细示例(4)
    文章目录Flink系列文章一、WindowTVFAggregation1、WindowingTVFs窗口函数1)、TUMBLE滚动窗口示例2)、HOP滑动窗口示例3)、CUMULATE累积窗口示例2、GROUPINGSETS分组集介绍及示例1)、ROLLUP介绍及示例2)、CUBE介绍及示例3、SelectingGroupWindowStartandEndTimestamps4、Cas......
  • 27、Flink 的SQL之SELECT (窗口函数)介绍及详细示例(3)
    文章目录Flink系列文章一、Windowingtable-valuedfunctions(WindowingTVFs)1、TUMBLE滚动窗口1)、示例1-使用滚动窗口查询、统计(表不含主键)2)、示例2-使用滚动窗口查询、统计(表含主键)3)、官方示例-使用滚动窗口查询、统计(未验证)2、HOP滑动窗口1)、示例1-使用滑动窗口查询、统计2)......
  • jsp 之反射型 xss 示例
    jsp代码如下:<%@pagecontentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><body><formaction=""method="get">姓名:<inputname="name"type......
  • 大数据 | Spark基本使用示例
    欢迎参观我的博客,一个Vue与SpringBoot结合的产物:https://poetize.cn博客:https://gitee.com/littledokey/poetize-vue2.git聊天室:https://gitee.com/littledokey/poetize-im-vue3.git后端:https://gitee.com/littledokey/poetize.git七牛云登录/注册地址(文件服务器,CDN):https:/......
  • 大数据 | Hive使用示例
    欢迎参观我的博客,一个Vue与SpringBoot结合的产物:https://poetize.cn博客:https://gitee.com/littledokey/poetize-vue2.git聊天室:https://gitee.com/littledokey/poetize-im-vue3.git后端:https://gitee.com/littledokey/poetize.git七牛云登录/注册地址(文件服务器,CDN):https:/......