一、簡介
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 - 轉換完成!!