kettle REST Client控件使用

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, '河南');

表内容如下:
kettle REST Client控件使用_第1张图片
目的:通过HTTP请求获取JSON字段,并填充level


2 kettle REST Client

整体流程如下:
kettle REST Client控件使用_第2张图片

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

kettle REST Client控件使用_第5张图片
4. REST Client:通过GET请求获取JSON字段
kettle REST Client控件使用_第6张图片
5. Json 输入:从字段获取result字段,并设置要获取的字段
kettle REST Client控件使用_第7张图片
kettle REST Client控件使用_第8张图片
6. 字段选择:获取选择的字段idlevel
kettle REST Client控件使用_第9张图片
7. 插入/更新:首先连接好数据库,设置目标表,设置查询关键字和要更新的字段
kettle REST Client控件使用_第10张图片
8. 运行结果

kettle REST Client控件使用_第11张图片


3 更新后的postgreSQL字段

kettle REST Client控件使用_第12张图片

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

你可能感兴趣的:(kettle)