比kettle好用的开源etl_ETL工具之Kettle使用

什么是ETL?

ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至指定端的过程,ETL的目的是将企业中分散、凌乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。举个现实场景,通常我们的数据库分为当前业务库、备份库、主题库(BI用)。业务库和备份库可能结构相同,只是数据的归档日期不同,主题库则是根据需求将业务库或备份库提取数据且转换成指定格式的数据写入到了主题库。

kettle介绍

kettle是实现ETL的一个工具,kettle支持图形化的GUI界面,操作简单。kettle是使用java编写的,需要在具有java 虚拟机的环境下使用,kettle是免费开源的,同时不需要安装,下载后配置好环境,在文件中找到Spoon.bat执行即可运行(程序启动可能较慢)。

06ca7069ade91d9e749fea5e18902f91.png

kettle基本使用

前置配置:修改kettle启动程序(spoon.bat),如下图

af0bc4cc375b07a4381070aa7248b02a.png

下载kettle后在kettle目录中找到Spoon.bat,双击运行,kettle可以新建两种不同的文件:transformation(文件格式为ktr)、job(文件格式为kjb),transformation针对数据进行基础转换,job则是完成对整个工作流的控制。
点击文件中的新建可以选择新建transformation文件或者job文件

2f0ff045be9685aa0383edded5b60d8f.png

新建的文件左侧目录树有两个切换对象列表,主对象树是你现在使用的对象,核心对象是可以使用的对象。kettle的所有功能都由这些对象连接组成,使用时将核心对象中需要的对象组件拖至右侧编辑界面即可使用,组件功能与初始名称描述相同。

73b0de71e95fc4ecb435ec52ac059633.png

kettle请求接口数据

相关组件: HTTP post,REST client
REST client中可以设置URL以及HTTP Get或者Post等请求方式。
Body field为要传递的参数,这个参数有前面处理的数据传过来

1新建转换,点击文件菜单——新建——转换,建立新转换

6d2838f26950db751198b921ee40870b.png

2. 切换到核心对象,选择自定义常量数据(也可以使用其他输入组件获取数据),将组件拖拽至编辑界面。

73b9c862f0e2fd35fa4023afcdfca6a5.png

 3. 拖拽至编辑页面后双击打开组件,编辑内容,在元数据TAB页中添加自定义字段名(WebAPI请求的参数名)以及类型等信息。

acb1224ff21faf6643d00c9770105121.png

 4. 找到JSON输出组件,拖拽该组件到创建的转换TAB页内,长按前面添加的常量组件,将常量组件连接至JSON输出组件上。

53bc0a915c368751471bb4a5a4f55c3c.png

 5. 编辑JSON输出组件,点击【操作】选项,选择值为:Output value 。

d617261e2a64146c1aa1b75b44604ba9.png

 6. 编辑JSON输出组件,点击【字段】选项,点击下方的【获取字段】按钮获取之前自定义常量数据中设置好的字段信息。

a8c1c2dc557409251219631c344403cf.png

 7. 新增查询步骤REST Client,如下图:

088e5fa2efc4765c96a88a9c0301327f.png

 8. 双击REST Client步骤配置http请求服务,URL为部署在Web服务器上的站点地址,HTTP Method则不用多说了吧~

fe1a3fe64a12c0ee6efe9d6d604c26f3.png

 9. 保存转换,方便多个作业(JOB)引用~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值