暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

故障分享:Data Integration执行SQL  DB2数据库注释问题

IT那活儿 2023-10-08
283
点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!



问题现象



近期某项目的数据中台ETL作业出现频繁的执行超时告警情况,梳理过整个执行流程之后,发现耗时主要体现在一个转换上,这个转换抽取DB2数据库中的一张全量表到数据中台,由于数据量比较大,所以导致执行缓慢,和业务部门讨论之后决定采用增量抽取的方式来减少执行时间,但是在执行增量抽取SQL的时候发现一直还是全量,增量条件不起作用,如下图所示:




解决方法



之前一直尝试在原来的SQL上进行修改测试,发现怎么改都不生效,后来自己单独重写了SQL进行测试发现居然起作用了,经过对比发现两个SQL唯一的区别就是多了注释部分,删除注释,问题解决:

之后测试了oracle和mysql,这两个数据库都没有问题,注释都被正确的解析,注释之后的条件也能正确执行。
Oracle注释在客户端和Data Integration中也能被正确识别,注释之后的条件能正常执行:
Mysql注释在客户端和Data Integration中也能被正确识别,注释之后的条件能正常执行:

总 结:

在SQL标准中标准的注释方式是"--"注释,即单行注释;DB2的单行注释方式确实是"--",在客户端工具中执行注释是被正常识别的,但是在Data Integration中这个符号会导致后面的条件不被执行,oralce和mysql都没有问题,不知道这是不是kettle的一个bug......

END


本文作者:周建伟(上海新炬中北团队)

本文来源:“IT那活儿”公众号


文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论