• 【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库


    一、说明

            1、Kettle版本: pdi-ce-9.3.0.0-428

            2、依赖jar: mysql-connector-java-5.1.49.jar

            3、从http服务请求数据,并保存到表

            4、数据库: MySQL8.0

            5、jdk版本: 1.8.0_202

    二、准备工作

    1、下载kettle

    1)云盘

    https://pan.baidu.com/s/1Axv_XqFp_JfNHR0vZFCJcw 
    

    密码统一: 6326

    说明1:pdi-ce-9.3.0.0-428.zip已经有了;如果没有的,可以自行下载mysql-connector-java-5.1.49.jar

    说明2: kettle依赖jdk环境,自行安装配置吧

    2)mysql-connector-java-5.1.49.jar

    https://pan.baidu.com/s/1YURbPTR-8UEMK495gh6AIA 
    

    说明1: mysql连接jar要放到:

    pdi-ce-9.3.0.0-428\data-integration\lib

    3)如何运行kettle(windows环境)

    pdi-ce-9.3.0.0-428\data-integration\Spoon.bat

    ~~

    2、 组件路径

    1)生成记录

    输入-生成记录

    生成记录

    ~~

    2)HTTP请求

    查询-REST client

    REST client
    ~~

    3)JSON字符串解析

    输入-JSON input

    JSON input

    4)保存到数据表

    输出-表输出

    表输出

      ~~

     3、json数据抽离

    json示例

    1. {
    2. "code": 0,
    3. "data": {
    4. "level": "5",
    5. "list": [{
    6. "name": "张三"
    7. },
    8. {
    9. "name": "李四"
    10. }
    11. ]
    12. }
    13. }

    1)解析对象

    $.data.level

    2)解析数组

    $.data.list[*].name

    ~~

    4、举个例子:将api接口数据保存入库

    1)将组件拼接

    2)配置生成记录

    说明1: 修改限制 10 -> 1

    说明2: 增加变量url,即请求的地址

    ~~

    3)配置REST client

    说明1: 勾选Accept URL from field,即从定义的变量里面获取url;并选择变量

    说明2: 默认或修改Result field name,即接收http返回的json数据

    4)配置JSON input

    a> 配置文件

     说明1: 勾选“源定义在一个字段里”,并把变量名写上,即result;要跟REST client里的Result field name保持一致

    b> 配置字段

     说明1:json数据示例-对象

    1. {
    2. "code": 0,
    3. "data": {
    4. "level": "5"
    5. }
    6. }

    说明1:json数据示例-数组

    1. {
    2. "code": 0,
    3. "data": {
    4. "list": [{
    5. "name": "张三"
    6. },
    7. {
    8. "name": "李四"
    9. }
    10. ]
    11. }
    12. }

    5)配置表输出

    a> 新增数据库连接信息

    新增你的数据库信息

    b> 配置映射

    c> 执行表SQL或者自行创建表;表必须存在

     6)配置完成

    说明1: 6)之前配置过程,配置完成就可以测试了

    说明2: 测试前提,http接口已经OK

    说明3: 从7)开始,模拟测试,即API接口没有OK之前,验证脚本是否OK

    7)将数据json示例保存到本地文件

    1. {
    2. "code": 0,
    3. "data": {
    4. "level": "5",
    5. "list": [{
    6. "name": "张三"
    7. },
    8. {
    9. "name": "李四"
    10. }
    11. ]
    12. }
    13. }

    8)修改JSON input配置

     9)预览

     

     10)7)~9)是对象示例;数组示例更换路径即可

    不再赘述

    ~~

  • 相关阅读:
    Linux 时间操作及其同步
    Ubuntu 给用户添加sudo权限
    基于MFC的串口通信
    基础算法练习200题11、鸡兔同笼
    从基础到卷积神经网络(第14天)
    【电商】电商后台设计—优惠券
    嵌入式软件设计之美-以实际项目应用MVC框架与状态模式(上)
    聊聊并发编程——多线程之volatile
    利用pytorch可以实现手写字体的识别吗 基于深度学习算法
    查看JAVA API以及JAVA源码的方法
  • 原文地址:https://blog.csdn.net/myloverisxin/article/details/126143738