一、Kettle
* Kettle是一款国外开源(免费:受欢迎)的ETL工具,
* 纯Java编写(Java开发很好的集成),可以在windows、Linux、Unix上运行(Linux服务器流行时代下,Kettle更加受欢迎),
* 数据抽取高效稳定(更更加受欢迎)。
Kettle中文名俗称“水壶”,开发目的是将各种数据放到一个水壶中,然后经过各种处理加工,以特定的格式流出。
二、Kettle-ETL
(一)ETL
抽取(Extract):一般抽取过程需要连接到不同的数据资源,以便为随后的步骤(转换、加载、分析、报表展示等)提供数据。数据抽取部分看上去简单而琐碎,实际上是ETL解决方案的成功实施的一个主要障碍。
转换(Transform):任何对数据的处理过程都是转换。这些处理过程通常包括(但不限于)下面一些操作:
1、移动数据
2、根据规则验证数据
3、修改数据的内容或者数据结构
4、集成多个数据源的数据
5、根据处理后的数据计算派生值或者聚集值
加载(Load):将数据加载到目标系统的所有操作
(二)、ETL实现的主要转换
1、对空值的处理
如果在转换过程中捕获到某些字段存在空值,在进行加载时需要将空值替换成某一数据或者直接进行加载,不做任何转换。
2、对数据格式的规范化
根据业务数据源中各个字段的数据类型,进行数据格式的规范和统一。
例如,统一将数值类型转化成字符串类型。
3、根据业务需求进行字段的拆分或者合并 <