1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > ETL转换工具 kettle——spoon 安装 使用

ETL转换工具 kettle——spoon 安装 使用

时间:2022-06-24 23:43:06

相关推荐

ETL转换工具  kettle——spoon  安装  使用

一、kettle--spoon的安装

kettle安装官网/projects/pentaho/files/Data%20Integration/

下载完解压就好。然后按以下步骤使用即可。

二、使用

1、启动

进入安装路径/data-integration下双击Spoon.bat,即可进入spoon的主页面

2、配置数据库连接

这里配置Oracle数据库。有注释的必填,这样将需要用到的数据库连接好 后续使用的时候就可以直接选择了(当然也可以后续需要再编辑)

一般填写完 要测试一下 如果测试不通过的话 一般都是对应信息没填对 或者 会提示Oracle驱动没有检测到 这个就需要下载对应的驱动放到对应的文件夹底下了

3、一个简单的数据抽取(将一个表的数据抽取到另一个表内)

文件--》新建--》转换

创建完之后 点击核心对象 选择输入—表输入;输出--插入/更新 (都是点击 拖过去右边空白页即可)

双击表插入:编辑SQL语句(决定了你要查询出流里面的字段) 数据库连接选择查询对应的数据库

确定之后,将表输入连接到插入/更新 (相当于将查询出来的数据流向右流给插入/更新操作选择对应的数据流)

点击表输入然后点击红框(表示向右连接)并拉过来连接插入/更新

双击插入/更新 编辑 选择要插入数据的数据库连接 和对应的表

关键字比较(要插入的目标表字段和流里的字段就是表输入查询出来的字段 ) 相等的话就更新、不相等就插入(相当于 根据这个字段比较 如果表内已存在该数据 就更新 不存在则更新)

更新字段(就是 比较之后更新操作的话 要更新的字段 Y更新 N不更新)

最后 点击执行 显示这样即表示成功 (转换完成之后 可以去插入的数据表查验).

4、一次性全量插入

使用表输出

点击数据库字段匹配目标表字段和流字段

(如果是工作过程中 添加某字段映射的话 可以直接在插入字段里 手动添加即可)

5、定时调度转换

定时调度只能在流流程里面设置 创建一个多个转换流程也是这样操作。

所以 新建一个作业:并在通用里面拖过来一个start转换(并连线)

双击转换 编辑转换 选中已做好的转换要做定时任务的转换

双击start 可视化编辑是否需要定时 定时周期为多少

设置完之后点确定 我的电脑屏幕小 自动只显示这个框 没有确定按钮 最后发现是需要拉大这个框框的

这样 一个定时任务就完成啦 !!!(定时任务设置完后也是要点击执行才可以开启任务的)

如果设置成不需要定时,且连接多个转换 这样就相当于一个没有定时的流程啦 需要手动执行。

6、使用全量输入 实现多次执行不会插入重复数据

(所以只能在在表输入表输出的最前面先清空将要插入的目标表)

所以我添加一个执行sq脚本

但是要注意的是:连接之后 双击表输入(连接 会自动识别的前一步骤)

7、在kettle里面做一个错误处理:

点击错误处理连接线 编辑 错误描述列名(写自己创建的错误日志表中的错误描述的属性) 这样插入更新失败的时候 就会将错误信息也传送到插入/更新2步骤中,最后根据插入/更新2步骤中设定插入到目标表

8、自动生成一个id时:

第一个表输入

第二个表输入 框出来的都是需要加上的(‘OK’=?是自带的一个判断 从前面传过来要加上)

第一步查询出来的字段 会替换掉第二步的

(‘OK’=?不能直接接在where后面 所以在没有其他的条件约束的话 就加一个1=1 如上图所上 一般是 AND‘OK’=?)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。