Kettle实战100篇 第2篇 调用RESTful接口导入JSON结果入库

不管是通过Java或者是Python编码的方式调用RESTful接口将结果入库,都是有一定复杂度的,首先你要加载第三方REST组件,然后连接数据库,写SQL语句,最后插入的目标数据库中

但我们有了Kettle这个工具之后,只需要使用她的图形化界面Spoon就可以很方便的完成接口调用及入库的操作

简单的GET请求

需求

我们拥有接口api地址:http://xxx.domin.com/api

请求方式Get,无参数传递,响应内容如下:

我们需要将该JSON数据导入数据库中,如果region字段存在,则更新该数据

实战

首先需要在Spoon中新建一个转换,菜单选项:文件 -> 新建 -> 转换

首先我们需要分析,我们这个转换操作需要哪些组件:

  • 需要输入请求url
  • 发送RESTful请求
  • 入库
  • JSON解析

定义变量

既然我们的url是指定的,那么我们可以在输入对象树中选择一个生成记录的组件

配置REST client组件

设定好请求接口变量,接下来选择发送RESTFul的组件,因为我们是请求的接口,因此可以直接选择REST client组件

因为我们在生产记录的组件中定义了接口的地址,因此我们这里可以选择从字段中获取地址,然后在URL field name中选择我们上个步骤中定义的变量名称

然后选择请求类型GET,输入输出的结果变量名称result

定义JSON输入流

接下来,通过REST组件,我们其实已经拿到的接口响应的JSON结果,此时我们需要一个JSON的输入流组件来接收,因此我们需要用到JSON input组件

JSON input组件我们需要设定两个关键的值

  • 设置数据来源,因为我们是通过REST请求来获取的JSON,而并非是JSON文件,因此我们可以使用上个步骤中的输出字段result来作为我们的JSON输入源
  • 设置输出隐射字段,我们得到了JSON的结果,通过接口的结果我们得知是一个JSON数组,因此我们需要设置字段名称,通过读取JSON的结果字段设置字段的映射

JSON input组件中,字段的路径规则是通过$.field来设

  • 9
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
很抱歉,我没有办法提供一个完整的"kettle实战100"的资源。不过,我可以给你一些关于kettle实战建议和指导。Kettle(也称为Pentaho Data Integration)是一个强大的开源ETL工具,用于数据集成、数据转换和数据加载。 以下是一些使用kettle进行实战的建议: 1. 学习基本概念:了解kettle的基本概念,包括转换(Transformation)和作业(Job),以及它们在数据处理中的作用。 2. 安装和配置:下载并安装最新版本的kettle。确保正确配置数据库连接和其他必要的设置。 3. 掌握转换步骤:熟悉kettle的各个转换步骤,如输入、输出、转换、过滤和转换等。理解每个步骤的功能和用法。 4. 数据提取和加载:学习如何使用kettle从不同数据源(如数据库、文件、Web服务)中提取数据,并将其加载到目标数据库或文件中。 5. 数据转换和清洗:掌握使用kettle进行数据转换和清洗的技巧,如数据映射、字段计算、数据过滤和去重等。 6. 调度和监控:了解如何使用kettle的作业来调度数据处理任务,并使用日志和监控功能来跟踪和分析数据处理过程。 7. 扩展和定制:研究kettle的插件机制,了解如何使用自定义插件来扩展kettle的功能,以满足特定的需求。 8. 最佳实践:遵循kettle的最佳实践,如优化转换和作业的性能、处理错误和异常情况、使用版本控制等。 9. 社区支持:加入kettle的用户社区,与其他用户交流经验和问题,获取帮助和解决方案。 希望这些建议能对你有所帮助,如果你有关于kettle的具体问题,我会尽力回答。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值