一、简介
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 - 转换完成!!