一、簡介
kattle是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上運行,數據抽取高效穩定。它允許你管理來自不同數據庫的數據,通過提供一個圖形化的用戶環境來描述我們需要完成的功能。這裡使用的是pdi-ce-5.4.0.1-130。下載地址為http://community.pentaho.com/projects/data-integration/ 。
二、示例
1、需求如下:某系統對外發布了一個接口,通過post方式請求該接口地址,並將參數放在請求體中,接口處理完後會將相應的信息返回。現在我們需要使用kattle完成這個工作。
2、處理過程如下:
思路: 構建參數 --> 發送post請求 --> 獲取相應數據 --> 後續處理(打印日志)
kattle 設計流程圖如下:

1)、表輸入如下:

2)、構造參數

3)、HTTP Post請求

fields 頁簽主要配置請求參數等信息,這裡沒有用到就無需配置。
4)、獲取結果數據

5)、打印日志

運行日志結果如下:
2016/04/19 15:05:09 - Spoon - 轉換已經打開.
2016/04/19 15:05:09 - Spoon - 正在打開轉換 [post_message]...
2016/04/19 15:05:09 - Spoon - 開始執行轉換.
2016/04/19 15:05:09 - post_message - 為了轉換解除補丁開始 [post_message]
2016/04/19 15:05:09 - 表輸入.0 - Finished reading query, closing connection.
2016/04/19 15:05:09 - 構造參數.0 - Optimization level set to 9.
2016/04/19 15:05:09 - 表輸入.0 - 完成處理 (I=1, O=0, R=0, W=1, U=0, E=0
2016/04/19 15:05:09 - 構造參數.0 - 完成處理 (I=0, O=0, R=1, W=1, U=0, E=0
2016/04/19 15:05:09 - 獲取結果數據.0 - Optimization level set to 9.
2016/04/19 15:05:09 - HTTP Post請求.0 - 完成處理 (I=0, O=0, R=1, W=1, U=0, E=0
2016/04/19 15:05:09 - 寫日志.0 -
2016/04/19 15:05:09 - 寫日志.0 - ------------> 行號 1------------------------------
2016/04/19 15:05:09 - 寫日志.0 - fromUserName = 88888888888888
2016/04/19 15:05:09 - 寫日志.0 - accessToken = 88888888888888
2016/04/19 15:05:09 - 寫日志.0 - username = zhangsan
2016/04/19 15:05:09 - 寫日志.0 - id = 43890uj9f43r43
2016/04/19 15:05:09 - 寫日志.0 - pdata = {"toUserNames":["guest"],"fromUserName":"88888888888888","accessToken":"88888888888888","message":{"msgType":1,"username":"zhangsan","uid":"43890uj9f43r43","createTime":"1440056195537"}}
2016/04/19 15:05:09 - 寫日志.0 - result = {"name":"zhangsan", "age":20, "gender": "mail"}
2016/04/19 15:05:09 - 寫日志.0 - resultCode = 200
2016/04/19 15:05:09 - 寫日志.0 - time = 19
2016/04/19 15:05:09 - 寫日志.0 - uname = zhangsan
2016/04/19 15:05:09 - 寫日志.0 - uage = 20
2016/04/19 15:05:09 - 寫日志.0 - ugender = mail
2016/04/19 15:05:09 - 寫日志.0 - sfts = 1
2016/04/19 15:05:09 - 寫日志.0 -
2016/04/19 15:05:09 - 寫日志.0 - ====================
2016/04/19 15:05:09 - 獲取結果數據.0 - 完成處理 (I=0, O=0, R=1, W=1, U=0, E=0
2016/04/19 15:05:09 - 寫日志.0 - 完成處理 (I=0, O=0, R=1, W=1, U=0, E=0
2016/04/19 15:05:09 - Spoon - 轉換完成!!