Kettle作为数据治理工具,总是会涉及到数据的搬迁,在原始数据过大、种类过多时写入肯定会出现一些错误(缺少必填项、数据格式错误、主键冲突等等),那么Kettle如何解决?其实Kettle与我们自己写程序的思维不会有本质性的差别,因此我们常见的处理方式基本上都可以得到解决。基本上我们常规的解决办法:阻断执行、忽略错误继续执行、记录错误数据。
1.阻断执行
Kettle的默认执行方式,不做任何异常处理即为阻断执行逻辑,不做太多赘述。
2.忽略错误继续执行
当遇到写入错误时忽略错误记录,这里就出现了一个隐含要求(Kettle本身为保证执行效率多为批量数据入库,为了发现执行错误的记录只能一条条的入库了):
1)取消勾选“使用批量插入”
2)勾选“忽略插入错误”

3.记录错误数据补偿执行

右键输入表, 选择定义错误处理
编辑错误信息key值

保存错误信息

d. 增加错误信息表数据读取,自定义补偿逻辑