• 【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)是对象示例;数组示例更换路径即可

    不再赘述

    ~~

  • 相关阅读:
    用微信小程序开启桶装水订购业务
    基于Avalonia 11.0.0+ReactiveUI 的跨平台项目开发2-功能开发
    DNS基础之使用dig查询DNS解析过程
    软考(软件设计师)中的一些总结
    DPDK系列之十九DPDK内存管理介绍
    Spark系列之Spark启动与基础使用
    速通Redis基础(一):掌握Redis的字符串类型和命令
    linux系统中安装python到指定目录
    基于JavaWeb的果蔬生鲜交易系统
    人工网络英语怎么说,人工网络英语怎么写
  • 原文地址:https://blog.csdn.net/myloverisxin/article/details/126143738