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

表內容如下:
在這裏插入圖片描述
目的:通過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,最終更新到源數據庫中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章