kettle(pdi-ce-8.2.0.0-342)的表输出提交记录数量的问题

文章讨论了表输出时遇到的问题,特别是批量删除和插入数据时,由于提交记录数量默认设置导致的数据重复删除和插入。当数据的company字段相同,可能导致数据不一致。提出的解决方案包括增大提交记录数量以确保一次性处理所有数据,或者使用裁剪表(清空后再插入)来避免问题。
  1. 表输出(提交记录数量):每批次提交的数量,默认是1000,有点bug,修改成500或者其他。示例: 

2.表输出的删除问题

(1)删除的每条数据的id都不一样

这种情况下如果查出来的数据,每条数据的id不同,那么就没有问题,之后的表输出的数量就是表输出的数量。

(2)删除的每条数据的company都一样

这种情况下如果查出来的数据有1802条,表输出的提交记录数量是500条,那么会造成的结果就是先删除目标表的数据,之后第一批写入500条,之后又发现company = company,就会将刚写入的500条删除,一直循环到最后一批次302条,写入目标表,结果就会造成实际表输入有1802条,表输出为302条.

解决方案:

第一种方案:将表输出的提交记录数量调大,超过表输入的数量,这样就可以在删除的时候将目标表的数据删除,然后将表输入的数据一次性写入目标表;

第二种方案:可以通过表输入和表输出(裁剪表)的方式实现;裁剪表的作用就是truncate table (table_name);之后再insert into操作。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值