ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。
Kettle是一款国外开源的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定。Kettle功能具体分为转换(transformation)、作业(jobs)。转换可理解为小的数据交换模块,而作业则可以实现多个转换定时操作。
一、Kettle安装
Kettle下载地址
目前Kettle下载源站点在国外,国内下载速度比较慢,千辛万苦各种渠道找到的资源。
链接:https://pan.baidu.com/s/1jGOGR4wYGZRoTUmvOAqhAA 提取码:eshj
下载到本机解压后免安装
二、使用
Spoon.bat为启动程序,双击启动。
1、新建转换
数据的抽取与交换的前提条件为,ETL工具必须能够访问到数据库连接,这样才能保证对不同类型数据库数据的抽取。
- 在此前提下双击转换文件夹,选择主对象树tab,在DB连接中配置数据库(本地事先安装了MySQL、Oracle数据库且能正常访问)。
- 在核心对象栏目中选择输入文件夹下的表输入,拖入右侧工作区间,双击配置。(表输入:源数据的来源)
- 在输出文件夹下选择插入/更新,拖入右侧工作区间,双击配置。在用来查询的关键字和更新字段工作栏中进行相应的配置。
以上两步针对的是源数据的操作。
- 在输出文件夹下选择表输出,拖入右侧工作区间,双击配置。配置目标数据库、表,这里针对的是数据想要交换到的库、表。选择指定数据库字段。
到这里一个简单的转换就配置完成了,点击工作区左上角运行这个转换按钮,就可以对数据进行转换。
2、新建作业
- 双击作业文件夹,将通用文件夹下的开始按钮拖入右侧工作区间,双击配置,可以选择作业执行的类型。
- 将通用文件夹下的转换按钮拖入右侧工作区间,双击配置,选择启动转换时保存的转换文件。
- 点击启动这个作业按钮。等待设置job的执行时间到来。
三、总结
对于不同的业务需求场景来说,需要对不同系统的数据进行统一的规范管理,就会用到ETL工具的实现,简单的学习了Kettle的配置操作,对于复杂逻辑的抽取还需学习。加油。