PDI(kettle)作业和转换的基本概念和简单示例

一、转换和作业定义

转换(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
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值