一、转换和作业定义

转换(Transformation) 和 作业(Job)是Spoon设计器的核心两个内容,这两块内容构建了整个Kettle工作流程的基础。

  1. 转换(Transformation):主要是针对数据的各种处理(即数据量),一个转换里可以包 含多个步骤(Step)。
  2. 作业(Job):作业是步骤流,一个作业里包括多个作业项(Job Entry),一个作业项代表了一项工作,而转换是一种作业项,即作业里面可以包括多个转换也可以包含多个作业。
  3. 作业的每一个步骤,必须等到前面的步骤都跑完了,后面的步骤才会执行(串行);而转换会一次性把所有控件全部先启动(并行)

二、两个数据库表之间全量抽取的简单模板

1.新建一个转换,拉入组件表输入、表输出。这里的示例做的是两个数据库之间的数据转移所以直接用表输入表输出即可。中间使用hop连接(shift+鼠标左键)
在这里插入图片描述
2.配置表输入,先配置数据库,点击数据库连接后面的新建,在弹出来的框框里面填写数据库连接信息(一般新下载的PDI不包含数据库驱动,需手动把相关驱动放到PDI安装路径下的lib文件夹下)。然后点击获取SQL查询语句即可选择相关数据表或试图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.配置表输出,同样需要先配置数据库,输入目标表表名称,其他按需要填写,保存好。
说明:
目标模式:目标数据库的owner
提交记录数:每次commit到数据库的数量,如将“使用批量插入”选中,则这条不生效(即每条数据commit一次)
裁剪表:是否对目标表执行truncate操作
忽略插入错误:默认不可用,当点掉“使用批量插入”时可用,一般用不到,但当从MySQL数据库抽取数据只Oracle时常会产生一些错误数据,转换执行异常,届时可以使用这个来调试。
指定数据库字段:选中后可以指定两个表之间数据库字段映射关系
获取字段关系:选中“指定数据库字段”,然后点获取字段可以直接获取相同名称的映射关系,映射关系可修改
表定义在一个字段里?:一般与“忽略插入错误”一起使用,即把错误的那条数据插入到那个字段,这个字段可以自己新建一个字段,也可以用目标表里面有的字段
SQL:自动建表或者更新表,如目标库未建表则自动建表如已有表则会自动参照源库更新补全目标表
在这里插入图片描述
在这里插入图片描述
4.新建一个作业,拉入start、转换、成功三个作业项,使用hop连接起。
在这里插入图片描述
5.配置转换,右击“转换”,编辑作业入口,浏览… 选择刚刚新建的转换,可以修改一下作业项名称,其他保持默认即可。确定,保存输入作业名称
在这里插入图片描述
这里需要注意:${Internal.Entry.Current.Directory} 这个可以设置转换的相对路径,但必须要求作业和转换在同一个目录下面,如果分开了这样写会报错找不到转换。
如一切正常的话,到这这个作业应该可以运行了

1. Kettle 相关概念 一个数据抽取过程主要包括创建一个 作业 ,并且每个 作业 可以包括多个 转换 操作,此数据抽取过程可以通过 kettle 工具完成。 Kettle 工具的执行分为两个层次及 转换 作业 ,这两个层次最主要的区别在于数据传递和执行方式。 转换 ETL 解决方案中重要的组成部分之一,主要用于数据的抽取、 转换 以及加载等操作,其本质是一组图形化的数据 转换 配置的逻辑结构。一个 转换 包括一个或多个步骤,如读取文件、过滤输出行、数据清洗或将数据加载到. 转换 是以并行方式执行的 转化中的步骤是通过跳连接的,跳定义了一个单向通道,允许一个数据从一个步骤向另一个步骤流动。跳是步骤之间带箭头的连接线,即数据通道,用于连接两个步骤,实现将两个元数据从一个步骤传递到另一个步骤,支持分发和复制。 数据单位是行,数据流就是数据行从一个步骤到另一个步骤移动。 下面是一个 转换 的例子: 2. 作业 一个 作业 包含一个或者多个 作业 项,并且这些 作业 项都. 转换 (Transformation) 和 作业 (Job)是Spoon设计器的核心两个内容,这两块内容构建了整个 Kettle 工作流程的基础。 1. 转换 (Transformation):主要是针对数据的各种处理,一个 转换 里可以包 含多个步骤(Step)。 2. 作业 (Job):相较于 转换 ,是更加高级的操作。一个 作业 里包括多个 作业 项(Job Entry),一个 作业 项代表了一项... 转换 (Transformation) 和 作业 (Job)是Spoon设计器的核心两个内容,这两块内容构建了整个 Kettle 工作流程的基础。1. 转换 (Transformation):主要是针对数据的各种处理,一个 转换 里可以包 含多个步骤(Step)。2. 作业 (Job):相较于 转换 ,是更加高级的操作。一个 作业 里包括多个 作业 项(Job Entry),一个 作业 项代表了一项工作,而 转换 是一种 作业 项,即 作业 里面可以包括多个 转换 。 2.1.1 Kettle 概述 Kettle 是国外免费的开源轻量级 ETL 工具,是基于Java语言开发的,可以在Windows.Linux,UNIX系统上运行,且绿色不需安装,可用于各种数据库之间的连接。 Kettle 工具主要有四个组件组成,分别是Spoon,Pan,Kitchen以及Carte组件,具体功能如下: *Spoon为集成开发软件,用于构建 作业 转换 ,执行或调试 作业 转换 ,还可以用于监控 ETL 操作性能。 *Pan以命令行形式执行Spoon生成的转... Spoon是Pentaho Data Integration( PDI )的图形用户界面(GUI)工具,用于设计、开发和管理 ETL (抽取、 转换 和加载)流程。它是Pentaho套件的一部分,旨在帮助用户轻松地创建和管理数据集成 作业 。以下是Spoon的一些主要特点和功能:图形化界面:Spoon提供了一个直观的图形用户界面,使用户可以通过拖放和连接各种组件来设计 ETL 流程。这种可视化方式简化了 作业 的设计过程,使用户更容易理解和管理数据流。