添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接


一、说明

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 | 结果入库_java

生成记录

~~

2)HTTP请求

查询-REST client


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

REST client ~~

3)JSON字符串解析

输入-JSON input

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_开发语言_03

JSON input

4)保存到数据表

输出-表输出

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_开发语言_04

表输出

~~

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 | 结果入库_开发语言_05

2)配置生成记录

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_开发语言_06

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

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

~~

3)配置REST client

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_开发语言_07

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

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

4)配置JSON input

a> 配置文件

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

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

b> 配置字段

【Kettle】 kettle | spoon | http请求 | 解析json | 结果入库_开发语言_09


说明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 | 结果入库_java_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 | 结果入库_mysql_12

8)修改JSON input配置

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

9)预览

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

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

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

不再赘述

~~

python找异常值 python 异常值

异常模块一、异常1.异常捕获2.异常类型捕获3.try-except-else4.try-finally5.主动触发异常6.断言 一、异常1.异常捕获当Python无法正常处理程序时就会发生一个异常,会影响程序的正常执行。 异常也是Python对象,表示一个错误 当Python脚本有发生异常的可能时,就需要捕获异常,避免程序终止执行。try: 正常程序执行此块代码 except: