一、说明
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示例
{ "code": 0, "data": { "level": "5", "list": [{ "name": "张三" }, { "name": "李四" } ] } }
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数据示例-对象
{ "code": 0, "data": { "level": "5" } }
说明1:json数据示例-数组
{ "code": 0, "data": { "list": [{ "name": "张三" }, { "name": "李四" } ] } }
5)配置表输出
a> 新增数据库连接信息
新增你的数据库信息
b> 配置映射
c> 执行表SQL或者自行创建表;表必须存在
6)配置完成
说明1: 6)之前配置过程,配置完成就可以测试了
说明2: 测试前提,http接口已经OK
说明3: 从7)开始,模拟测试,即API接口没有OK之前,验证脚本是否OK
7)将数据json示例保存到本地文件
{ "code": 0, "data": { "level": "5", "list": [{ "name": "张三" }, { "name": "李四" } ] } }
8)修改JSON input配置
9)预览
10)7)~9)是对象示例;数组示例更换路径即可
不再赘述
~~