kettle mysql 批量加载_kettle学习笔记(五)——kettle输出步骤

一、概述

数据库表:

• 表输出

• 更新,删除,插入/更新

• 批量加载(mysql,oracle)

• 数据同步

文件:

• SQL 文件输出

• 文本文件输出

• XML 输出

• Excel Output/Excel Writer

其他(报表、应用)

二、数据库输出

1.表输出

使用SQL的方式向数据库插入数据(INSERT)

支持批量提交

支持分区(Date分区)

支持字段映射

支持返回自增列

这里提示一下出现表输出的中文乱码问题的解决方案:

设置连接编码:characterEncoding utf8

516d86e17f1acb06068691277bab2285.png

设置连接编码一般就可以正常输出不乱吗的字符了。如果还有问题,可以继续设置客户端编码

设置客户端:set names utf8;

8516cbf8ff43270174533d12f4b35b1b.png

一个测试的表输出如下:

be3bdd17273457b55675448818b5ff55.png

如果选择分区,需要选择Date字段进行分区,并且需要手动创建表(例如按月分区,有201804 201805两个月,则需要创建tb_201804 tb_201805两个表)

如果是要错误输出,可以单击一下连接线改变输出方式(一把锁:开始了执行下面的,勾和叉:正确或者错误输出)

2.返回自增主键

表输出的配置如下:

788022768c88c3c1ac3d8d385f9dbd3c.png

选择了【裁剪表】,在数据加载之前会对此表做truncate操作。

预览即可查看返回的主键:

7a198789898d6c9c1b30c52fa56853a1.png

3.数据库字段映射

前面步骤可以后后面表输出进行字段映射匹配:

表输出配置如下:

f78dcf9a6b15c6abd41e3d7b446fb747.png

字段映射:

使用猜一猜可以进行名称匹配,如果需要手动匹配,可以左右分别选择,点击Add即可!

并且映射完成之后也可以删除丢弃某些字段

5bcf5de85f0b097792204ca887ce9b77.png

4.其它操作——删除、更新、插入更新

删除:

根据关键字匹配,删除数据库中已有的数据。

更新:

根据关键字匹配,更新数据库中已有的数据。

插入更新:

有则更新,无则插入。

操作都是类似,上面进行匹配,下面进行处理:

5de24d42c980adcea3500e5d0f2d4404.png

5.数据同步

基于比较的同步方式。根据一个flag字段执行相应的插入/更新/删除操作。

配置图如下:使用合并后的flag字段(可能有new deleteed等flag),后续再根据此flag,同步变化的数据到表1

3b3c64861cfb4d7dafa6e9e534976706.png

6.批量加载

使用流方式加载数据

a43d337819e6e142a774eb629145f13b.png

fe8009ca86e7fba064aed6fba7ba3728.png

MySQL批量加载需要在Linux环境运行(有命令只能在Linux下运行)

Oracle需要本地有oracle客户端(sqlldr文件,在Oracle安装目录下查找)

三、文件输出

1.SQL文件输出

根据选中的数据库类型,生成相应的 SQL 脚本(DDL,DML)。

46e8eac11a4a7c85faa4ce1b04d9f673.png

2.excel文件输出

注意2007以前的版本有65536的行数限制:

f274c9e47cb30ea2f0ec3da296779861.png

3.文本文件输出

比如txt json等,暂不赘述

四、其它输出

1.报表输出

生成报表(pdf,excel,html等格式),需要事先定义好报表模板。

2.XML输出

同样,暂不赘述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值