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

kattle 发送post请求的更多相关文章

  1. Java发送Http请求并获取状态码

    通过Java发送url请求,查看该url是否有效,这时我们可以通过获取状态码来判断. try { URL u = new URL("http://10.1.2.8:8080/fqz/page ...

  2. AngularJs的$http发送POST请求,php无法接收Post的数据解决方案

      最近在使用AngularJs+Php开发中遇到php后台无法接收到来自AngularJs的数据,在网上也有许多解决方法,却都点到即止.多番摸索后记录下解决方法:tips:当前使用的AngularJ ...

  3. Ajax发送POST请求SpringMVC页面跳转失败

    问题描述:因为使用的是SpringMVC框架,所以想使用ModelAndView进行页面跳转.思路是发送POST请求,然后controller层中直接返回相应ModelAndView,但是这种方法不可 ...

  4. 使用HttpClient来异步发送POST请求并解析GZIP回应

    .NET 4.5(C#): 使用HttpClient来异步发送POST请求并解析GZIP回应 在新的C# 5.0和.NET 4.5环境下,微软为C#加入了async/await,同时还加入新的Syst ...

  5. 在发送ajax请求时加时间戳或者随机数去除js缓存

    在发送ajax请求的时候,为了保证每次的都与服务器交互,就要传递一个参数每次都不一样,这里就用了时间戳 大家在系统开发中都可能会在js中用到ajax或者dwr,因为IE的缓存,使得我们在填入相同的值的 ...

  6. HttpUrlConnection发送url请求(后台springmvc)

    1.HttpURLConnection发送url请求 public class JavaRequest { private static final String BASE_URL = "h ...

  7. 【荐】怎么用PHP发送HTTP请求(POST请求、GET请求)?

    file_get_contents版本: <?php /** * 发送post请求 * @param string $url 请求地址 * @param array $post_data pos ...

  8. 使用RestTemplate发送post请求

    最近使用RestTemplate发送post请求,遇到了很多问题,如转换httpMessage失败,中文乱码等,调了好久才找到下面较为简便的方法: RestTemplate restTemplate ...

  9. 【转载】JMeter学习(三十六)发送HTTPS请求

    Jmeter一般来说是压力测试的利器,最近想尝试jmeter和BeanShell进行接口测试.由于在云阅读接口测试的过程中需要进行登录操作,而登录请求是HTTPS协议.这就需要对jmeter进行设置. ...

随机推荐

  1. Android学习笔记之ListView复用机制

    PS:满打满算,差不多三个月没写博客了...前一阵忙的不可开交...总算是可以抽出时间研究研究其他事情了... 学习内容: 1.ListView的复用机制 2.ViewHolder的概念 1.List ...

  2. 使用Github进行合作开发

    首先需要注册自己的github账号,然后 在本地生成ssh-key: 安装git,在本地任何文件夹上,右键,选择git bash here: 然后: git config --global user. ...

  3. GO语言面向对象

    当初开发go语言的时候就是因为C++的特性太过于繁杂,从而使得很多C++的开发者因为C++的特性而头疼,go语言成功的精简了C++的特性,使其很简洁,很少的特性,却可以完成很多的事情. go语言中并没 ...

  4. [Web API] Web API 2 深入系列(3) 激活HttpController

    目录 HttpController 创建HttpController IAssembliesResolver IHttpControllerTypeResolver HttpControllerTyp ...

  5. iOS 视图与视图层次结构(内容根据iOS编程)

    视图基础 视图是 UIView 对象,或者其子对象. 视图知道如何绘制自己. 视图可以处理事件,例如触摸(touch). 视图会按照层次结构排列,位于视图层次结构顶端的是应用窗口. 视图层次结构 任何 ...

  6. 使用css3的动画模拟太阳系行星公转

    本文介绍使用css3的animation画一个太阳系行星公转的动画,再加以改进,讨论如何画椭圆的运行轨迹.然后分析京东和人人网使用animation的实际案例,最后结合css3的clip-path做一 ...

  7. CSS3点赞动画特效源码下载

    体验效果:http://hovertree.com/texiao/jquery/62/ 效果图: 下载:http://hovertree.com/h/bjaf/1dvh9ym6.htm 特效库:htt ...

  8. should be mapped with insert="false" update="false

    SSH项目出现了 should be mapped with insert="false" update="false 错误,仔细检查后发现,是两个不同的属性映射了表中的 ...

  9. 【linux草鞋应用编程系列】_1_ 开篇_系统调用IO接口与标准IO接口

    最近学习linux系统下的应用编程,参考书籍是那本称为神书的<Unix环境高级编程>,个人感觉神书不是写给草鞋看的,而是 写给大神看的,如果没有一定的基础那么看这本书可能会感到有些头重脚轻 ...

  10. Java之方法重载篇(我重载了,你要如何来调用我。。)

      一.课前引言 请看一下代码,你发现什么特殊之处了吗? public class MethodOverload { public static void main(String[] args) { ...