目录
1、ETL简介:
2、KETTLE简介:
3、KETTLE常用功能:
(1)全量数据迁移:
(2)增量数据迁移:
(3)解析xml文件(单个、批量):
(4)解析JSON数据:
(5)数据关联比对:
(6)数据清洗转换:
4、KETTLE自我理解:
1、ETL简介:
ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。
ETL的实现有多种方法,常用的有三种:
第一种:是借助ETL工具(如Oracle的OWB、SQL Server 2000的DTS、SQL Server2005的SSIS服务、Informatic、Kettle等)实现;
第二种:是SQL方式实现;
第三种:是ETL工具和SQL相结合。
前两种方法各有各的优缺点,借助工具可以快速的建立起ETL工程,屏蔽了复杂的编码任务,提高了速度,降低了难度,但是缺少灵活性。SQL的方法优点是灵活,提高ETL运行效率,但是编码复杂,对技术要求比较高。第三种是综合了前面二种的优点,会极大地提高ETL的开发速度和效率。
2、KETTLE简介:
Kettle是一款国外开源的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
3、KETTLE常用功能:
KETTLE常用在处理关系型数据库(RDBMS):mysql、oracle、gbase、国产达梦等各种数据库,也可以处理非关系型数据库:elasticsearch、hdfs等数据存储。主要是对数据进行处理操作,个人常用的功能如下:
(1)全量数据迁移:
就是将某个或多个表或库中的数据进行迁移,可以跨库,也可以同库迁移。速度比较快,性能稳定。
(2)增量数据迁移:
就是对某个表中的数据按照一定的设计思路,根据int的自增主键或datetime的时间戳实现增量数据迁移,并且可以统计增量数据量。速度比较快,性能稳定。
(3)解析xml文件(单个、批量):
可以通过读取本地或远程服务器中的单个、批量xml文件进行解析,高效率的实现xml数据解析入库。
(4)解析JSON数据:
可以零代码通过jsonPath快速完成JSON数据解析,高效率实现JSON解析数据入库。
(5)数据关联比对:
可以将多个数据库根据一定的业务字段进行关联,尤其是针对单表百万、千万级别上的数据比对,普通sql实现困难,可以通过KETTLE方便高效的完成数据关联比对功能。
(6)数据清洗转换:
可以通过KETTLE中设计一定的判断流程,在数据流中逐条对数据进行业务判断和过滤,实现数据清洗转换的功能。
4、KETTLE自我理解:
自我理解KETTLE是一个非常好的工具,主要是用来处理大数据量任务,实现功能可参照SQL。一般的SQL只能针对数据量比较少的表进行数据操作,如果单表数据量在百万、千万以上,那么SQL处理就会非常吃力了,此时就可以通过KETTLE来轻松处理数据了。
KETTLE就是有很多常用的组件,通过在页面进行拖拽组合组件,完成SQL处理数据的思路和功能。最终执行KETTLE作业,高效率的完成大量数据的处理工作。