ETL工具(kettle)使用系列(五)-kettle调用restApi接口获取数据插入数据库-真实案例脱密处理


kettle脚本:下载地址

https://download.csdn.net/download/qq122716072/13107872

项目背景:某医院提供两个restapi接口,我们需要把两个接口的数据整合一下放到我们的数据库
ETL工具(kettle)使用系列(五)-kettle调用restApi接口获取数据插入数据库-真实案例脱密处理_第1张图片
项目分析:一个很小的工具可以做到,比如用java代码,但是需要写代码,本人太懒不想写。于是乎想到kettle工具。


  • 此项目有两个基本脚本和一个sing是任务脚本,第一个脚本:获取api接口的数据放入本地文件中;第二个脚本:从本地文件中获取数据经过处理插入数据库;第三个定时任务脚本:定时执行第一个脚本后再执行第二个脚本
第一个脚本:获取api接口的数据放入本地文件中

核心思想:使用httppost组件调用api接口获取数据,用java代码处理数据后放入本地xml文件
ETL工具(kettle)使用系列(五)-kettle调用restApi接口获取数据插入数据库-真实案例脱密处理_第2张图片

第二个脚本:从本地文件中获取数据经过处理插入数据库

核心思想:使用从xml文件获取数据组件,获取两个文件的数据,根据bed_id做一个记录集连接,inner join,可以过滤出想要的数据。和数据库中的数据对比,如果有更新才插入数据库,无更新的数据过滤掉不插入数据库。和数据库中的数据对比,如果源数据不存在,而数据库存在多余,则清空这条数据
ETL工具(kettle)使用系列(五)-kettle调用restApi接口获取数据插入数据库-真实案例脱密处理_第3张图片

第三个定时任务脚本:定时执行第一个脚本后再执行第二个脚本

核心思想:先执行获取api接口局数据操作,再执行插入数据库脚本
ETL工具(kettle)使用系列(五)-kettle调用restApi接口获取数据插入数据库-真实案例脱密处理_第4张图片

有个问题

如果获取api接口数据失败(掉不通过或者超时…),则获取不到数据,会清空数据库中的数据,怎么解决?后续优化


需要脚本的请联系我

你可能感兴趣的:(ETL,kettle,kettle调用api接口,restapi)