kettle REST Client控件使用

本文介绍如何使用Kettle RESTClient控件从postgreSQL数据库获取城市信息,通过HTTP请求调用百度地图API获取城市级别,再将结果更新回数据库。流程包括设置数据库、构建HTTP请求、解析JSON响应及数据更新。

kettle rest Client控件使用


场景:从数据库updataLevel中获取需要访问的City,通过rest Client获取level,将该level值插入updataLevel中。
环境:win 10 + postgreSQL + kettle + DBeaver(链接数据库)
Http接口http://api.map.baidu.com/geocoder?address=%E4%B8%8A%E6%B5%B7&&output=json&src=web


1 postgreSQL 数据库设置

创建数据库表updataLevel,并插入测试数据:

create table updataLevel(
	id int PRIMARY KEY,
	lng decimal,
	lat decimal,
	city varchar(20),
	level varchar(20)
    );
    
insert into updataLevel values(75, 116.332334, 39.882806, '上海');
insert into updataLevel values(80, 116.512885, 39.847469, '北京');
insert into updataLevel values(20, 101.622473, 34.740396, '河南');

表内容如下:
在这里插入图片描述
目的:通过HTTP请求获取JSON字段,并填充level


2 kettle REST Client

整体流程如下:
在这里插入图片描述

  1. 表输入:新建链接,并访问所有数据
    在这里插入图片描述
  2. 字段选择:获取选择字段,只保留city
    在这里插入图片描述
  3. JavaScript代码:将上级获取的city拼接为完整的url,并获取变量
var  url ="http://api.map.baidu.com/geocoder";
url = url+"?address="+encodeURIComponent(city) +"&&output=json&src=web"

在这里插入图片描述
4. REST Client:通过GET请求获取JSON字段
在这里插入图片描述
5. Json 输入:从字段获取result字段,并设置要获取的字段
在这里插入图片描述
在这里插入图片描述
6. 字段选择:获取选择的字段idlevel
在这里插入图片描述
7. 插入/更新:首先连接好数据库,设置目标表,设置查询关键字和要更新的字段
在这里插入图片描述
8. 运行结果

在这里插入图片描述


3 更新后的postgreSQL字段

在这里插入图片描述

整体思路即获取city字段值,通过该值拼接url,通过REST获取level,最终更新到源数据库中。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值