kettle从入门到精通 第七十课 ETL之kettle kettle数据校验,脏数据清洗轻松拿捏
1.kettle从入门到精通 第五十一课 ETL之kettle Avro input2.kettle从入门到精通 第五十二课 ETL之kettle Avro output3.kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ producer 实战4.kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ consumer实战5.Kettle调优教程(推荐收藏)6.kettle从入门到精通 第五十五课 ETL之kettle Excel输入7.kettle从入门到精通 第五十六课 ETL之kettle Microsoft Excel Output8.kettle从入门到精通 第五十八课 ETL之kettle HTTP post使用教程9.kettle从入门到精通 第五十九课 ETL之kettle 邮件发送多个附件,使用正则轻松解决10.kettle从入门到精通 第六十课 ETL之kettle for循环处理每条数据,so easy!11.kettle从入门到精通 第六十三课 ETL之kettle kettle调用python脚本的两种方法12.kettle从入门到精通 第六十四课 ETL之kettle kettle中执行SQL脚本步骤,使用需当心13.kettle从入门到精通 第六十五课 ETL之kettle 执行动态SQL语句,轻松实现全量&增量数据同步14.kettle从入门到精通 第六十六课 ETL之kettle kettle阻塞教程,轻松获取最后一行数据,so easy15.kettle从入门到精通 第六十七课 ETL之kettle 再谈kettle阻塞,阻塞多个分支的多个步骤16.kettle从入门到精通 第六十八课 ETL之kettle kettle随机数生成的一些方案17.kettle从入门到精通 第六十九课 ETL之kettle kettle cdc mysql,轻松实现实时增量同步
18.kettle从入门到精通 第七十课 ETL之kettle kettle数据校验,脏数据清洗轻松拿捏
19.kettle从入门到精通 第七十一课 ETL之kettle 再谈http post,轻松掌握body中传递json参数20.kettle从入门到精通 第七十二课 ETL之kettle 三谈http post(含文件上传),彻底掌握参数传递21.kettle从入门到精通 第七十三课 ETL之kettle kettle调用http分页接口教程22.kettle从入门到精通 第七十四课 ETL之kettle kettle调用https接口教程,忽略SSL校验23.kettle从入门到精通 第七十五课 ETL之kettle血缘,数据血缘24.kettle从入门到精通 第七十六课 ETL之kettle kettle连接hive教程25.kettle从入门到精通 第七十七课 ETL之kettle kettle执行存储过程,接收数据集26.kettle从入门到精通 第七十八课 ETL之kettle kettle将文件写入数据库BLOB字段27.kettle从入门到精通 第七十九课 ETL之kettle kettle读取数据库BLOB字段转换为文件28.kettle从入门到精通 第八十课 ETL之kettle kettle中的json对象字段写入postgresql中的json字段29.kettle从入门到精通 第八十一课 ETL之kettle kettle中的json对象字段写入postgresql中的json字段正确姿势30.kettle从入门到精通 第八十二课 ETL之kettle kettle中的【阻塞数据直到步骤都完成】使用教程31.kettle从入门到精通 第八十三课 ETL之kettle kettle调用python且接收返回值32.kettle从入门到精通 第八十四课 ETL之kettle kettle中Get data from XML使用实战教程33.kettle从入门到精通 第八十五课 ETL之kettle kettle中javascript步骤调用外部javascript/js文件34.kettle从入门到精通 第八十六课 ETL之kettle kettle调用https接口忽略SSL校验35.kettle从入门到精通 第八十七课 ETL之kettle kettle文件上传36.kettle从入门到精通 第八十八课 ETL之kettle kettle连接sqlserver彻底搞明白37.kettle从入门到精通 第八十九课 ETL之kettle kettle jms activemq使用教程38.ETL之kettle 医疗行业高级陪伴群 第一课39.ETL之kettle 专业陪伴群,1元开启kettle精进之旅40.ETL之kettle版本安装包免费下载地址41.kettle从入门到精通 第九十二课 ETL之kettle 使用Kettle的Carte对外发布读写接口42.kettle调度管理系统XXK-PDI,kettle调度好帮手43.kettle插件-自定义函数-数据脱敏44.kettle插件-git/svn版本管理插件45.kettle插件-高性能插入更新插件Upsert场景:输入在指定的错误(错误应涵盖数据类型不匹配的情况)行数内,trans不报错,但通过错误处理步骤捕捉,并记入文件,整个数据管线正常完成直至处理完最后一个输入行。
解决方案:使用步骤【数据检验】进行处理。这个步骤和常规的业务系统对接三方接口一个逻辑,将符合规则的数据放行,不符合的记录。
数据准备(data-valid.json文件中的内容如下),基于如下数据分别进行字段类型、非空、枚举值、字段值长度、邮箱正则校验。
[{ "id": 1, "name": "Java小金刚1", "sex": "男", "en_name": "xiaojingang1", "phone": "13931111111", "email": "1@qq.com" }, { "id": 2, "name": "Java小金刚2", "sex": "男", "en_name": "", "phone": "13931111111", "email": "2@qq.com" }, { "id": 3, "name": "Java小金刚3", "sex": "未知", "en_name": "xiaojingang3", "phone": "13931111111", "email": "3@qq.com" }, { "id": 4, "name": "Java小金刚4", "sex": "男", "en_name": "xiaojingang4", "phone": "1393", "email": "4@qq.com" }, { "id": 5, "name": "Java小金刚5", "sex": "男", "en_name": "xiaojingang5", "phone": "13931111111", "email": "5qq.com" }]
1、数据校验总体设计如下:
1)jsonn input 加载data-valid.json文件数据,实际使用时不一定是jsonn input 步骤,根据自己业务情况选择则。
2)数据校验步骤,设置一系列校验规则进行清洗数据。
3)校验通过的数据继续后续处理,校验失败的数据记录日志或者存入表中,这里方便演示所以只打了日志。
2、步骤错误处理设置,点击X号,然后在弹出的窗体里面设置错误数列名,错误描述列名,错误列的列名,错误编码列名的字段名称,如下图所示:

3、类型校验,也就说如果上游传递过来的类型是integer类型,但是你需要的是String类型,这个时候可以进行类型校验规则拦截,如下图所示。
4、非空校验,校验en_name字段不允许为空,空值的数据直接流向错误记录步骤,如下图所示:
5、枚举值校验,sex字段的取值范围只允许男和女两种,不符合条件的数据直接流向错误记录步骤,如下图所示:
6、字段值长度校验,校验phone电话号码长度需要是11位,不符合条件的数据直接流向错误记录步骤,如下图所示:
7、万能正则校验,使用正则表达式可以实现各种各样的定制化需求,这里使用正则校验邮箱是否正确,不符合条件的数据直接流向错误记录步骤,如下图所示:
8、还有一些其他的规则,朋友们可以自己进行探索下,若有问题欢迎评论区或者交流群内讨论。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构