admin 管理员组

文章数量: 887007

ETL一词是Extract、Transform、Load三个英文单词的首字母缩写,中文意为抽取、转换、装载。ETL是建立数据仓库最重要的处理过程,也是最能体现工作量的环节,一般会占到整个数据仓库项目工作量的一半以上。建立一个数据仓库,就是要把来自于多个异构源系统的数据整合在一起,并放置于一个集中的位置来进行数据分析。如果这些源系统数据原本就是相互兼容的,那当然省事了,但是实际情况往往不是如此。而ETL系统的工作就是把异构数据转换成同构数据。如果没有ETL,就很难对异构数据进行程序化分析。

 

Kettle是一款国外开源的ETL工具,纯Java编写,无须安装,功能完备,数据抽取高效稳定。Kettle是Pentaho公司的数据整合产品,它可能是现在世界上最流行的开源ETL工具,经常被用于数据仓库环境,并可用来操作Hadoop上的数据。Kettle的使用场景包括不同数据源之间迁移数据、把数据库中的数据导出成平面文件、向数据库大批量导入数据、数据转换和清洗、应用整合等。

面对各种各样的ETL开发工具,之所以选择Kettle,主要由于它的一些鲜明特性。首先,很明确的一点是,作为一款GUI工具,Kettle的易用性好,编码工作量最小化。几乎所有的功能都可以通过用户界面完成,提高了ETL过程的开发效率。其次,Kettle的功能完备。Kettle 8.3版本几乎支持所有常见的数据源,并能满足ETL功能需求的各种转换步骤与作业项。第三,Kettle是基于Java的解决方案,天然继承了Java的跨平台性,只要有合适的JVM存在,转换或作业就能运行在任何环境和平台之上,真正做到与平台无关。最后,Kettle允许多线程与并发执行,以提高程序执行效率。用户只需指定线程数,其他工作都交给Kettle处理,实现细节完全透明化。

节选自《Kettle构建Hadoop ETL系统实践》

本文标签: 开发工具 理由 数据 系统 kettle