Kettle实例(获取Token并带入请求接口拉取数据到本地)
背景
近期工作中遇到许多需要协同的表单文档被放到云文档,那么我们本地做数据分析就需要先抽取云文档实时数据到本地数据库,根据接口文档我们需要先获取Token,再将返回值带到接口中发起请求拉取数据,因为在做数据仓库项目调度用到过Kettle,想到REST client组件可以完成这项需求,下面记录此次数据转换过程。
Kettle简介
Kettle是一个免费开源的基于java的企业级ETL工具,功能强大简单易用,支持图形化的GUI设计界面,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
下载及安装
源码github 地址是 https://github.com/pentaho/pentaho-kettle。
官方文档:https://help.hitachivantara.com/Documentation/Pentaho/8.2/Whats_New
kettle 的官网是 https://community.hitachivantara.com/docs/DOC-1009855
国内 Kettle 论坛网:http://www.kettle.org.cn/
官网各个版本下载地址:https://sourceforge.net/projects/pentaho/files/Data%20Integration/
驱动下载地址:https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.29/
环境:JDK1.8和JDK8是同一个版本,推荐使用 JDK1.8 版本,mysql数据库推荐使用5.7版本,该版本比较稳定,兼容性较好
本次转换全流程
-
生成记录
需要注意:过程中发现Url及接口请求类型值直接输入无效,而放在生成记录中可以被获取到,暂时未找到原因,所以我将接口请求相关自定义内容放到了生成记录中。
-
获取Token
-
Josn输入
此步骤的目的是将返回值Josn格式化字段中的Token值
-
正式接口请求
-
返回JSON字段转换
-
表输出
此处我将返回的Json格式化后将数据保存到SQLServer数据库,此时目标表“APItest”还不存在,输入表名后点击SQL,Kettle会自动生成表的创建语句,点击执行SQL则自动创建目标表。
-
转换完成