(图片来源网络,侵删)
概述 ETL(即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少kettle是纯java编写,支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现,下面一起来看下吧Kettle概念Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制Kettle组成kettle家族目前包括四个产品,spoon,pan,chef,kitchenKettle-ETL1、ETL抽取(Extract):一般抽取过程需要连接到不同的数据资源,以便为随后的步骤(转换、加载、分析、报表展示等)提供数据数据抽取部分看上去简单而琐碎,实际上是ETL解决方案的成功实施的一个主要障碍转换(Transform):任何对数据的处理过程都是转换这些处理过程通常包括(但不限于)下面一些操作:1、移动数据2、根据规则验证数据3、修改数据的内容或者数据结构4、集成多个数据源的数据5、根据处理后的数据计算派生值或者聚集值加载(Load):将数据加载到目标系统的所有操作2、ETL实现的主要转换1、对空值的处理如果在转换过程中捕获到某些字段存在空值,在进行加载时需要将空值替换成某一数据或者直接进行加载,不做任何转换2、对数据格式的规范化根据业务数据源中各个字段的数据类型,进行数据格式的规范和统一例如,统一将数值类型转化成字符串类型3、根据业务需求进行字段的拆分或者合并依据业务需求对字段可进行分解例如,主叫号020-88888888,可进行区域码和电话号码分解区域号:020电话号码: 888888884、对缺失数据的替换根据业务需求对可实现无效数据、缺失数据进行替换5、根据业务规则对数据进行过滤6、 根据编码表进行数据唯一性的转换根据编码表制定的业务规范进行数据的转换,实现数据仓库系统内部数据的一致性对无依赖性的非法数据,可替换或导出到错误数据文件中,保证主键唯一记录的加载ETL软件商用ETL工具软件:Informatica、IBM DataStage、Microsoft SSIS 、Oracle ODI开源ETL工具软件:Kettle 、Talend、CloverETL、Ketl、Octopus总结:Kettle和informatica都提供了大量的转换步骤,脚本功能,都可以处理复制的ETL转换通常情况下informatica比kettle更快informatica有下推优化,缓存查询等提高性能的手段但是如果你对kettle和数据库有足够的了解,做一些调整,你可以提高kettle的速度,在一些情况下可以达到甚至超过informatica的速度篇幅有限,今天主要介绍一下kettle方面的内容,后面有空再整理下kettle搭建及怎么使用,感兴趣的朋友可以关注一下~
0 评论