【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)生成记录

输入-生成记录

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_第1张图片

生成记录

~~

2)HTTP请求

查询-REST client

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_第2张图片

REST client
~~

3)JSON字符串解析

输入-JSON input

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_第3张图片

JSON input

4)保存到数据表

输出-表输出

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_第4张图片

表输出

  ~~

 3、json数据抽离

json示例

{
	"code": 0,
	"data": {
		"level": "5",
		"list": [{
				"name": "张三"
			},
			{
				"name": "李四"
			}
		]
	}
}

1)解析对象

$.data.level

2)解析数组

$.data.list[*].name

~~

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

1)将组件拼接

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_第5张图片

2)配置生成记录

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_第6张图片

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

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

~~

3)配置REST client

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_第7张图片

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

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

4)配置JSON input

a> 配置文件

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_第8张图片

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

b> 配置字段

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_第9张图片

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

{
	"code": 0,
	"data": {
		"level": "5"
	}
}

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

{
	"code": 0,
	"data": {
		"list": [{
				"name": "张三"
			},
			{
				"name": "李四"
			}
		]
	}
}

5)配置表输出

a> 新增数据库连接信息

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_第10张图片

新增你的数据库信息

b> 配置映射

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_第11张图片

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

 6)配置完成

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

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

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

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

{
	"code": 0,
	"data": {
		"level": "5",
		"list": [{
				"name": "张三"
			},
			{
				"name": "李四"
			}
		]
	}
}

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_第12张图片

8)修改JSON input配置

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_第13张图片

 9)预览

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_第14张图片

 【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_第15张图片

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

不再赘述

~~

你可能感兴趣的:(Kettle,java,apache,开发语言)