kettle入门(1)



                                          Kettle 背景知识 – ETL

抽取(Extract)一般抽取过程需要连接到不同的数据源,以便为随后的步
骤提供数据。这一部分看上去简单而琐碎,实际上它是 ETL解决方案的成功实施的一个主要障碍。

(抽取的数据可能是文本文件,web页面,数据库等等数据源。数据源的数据好多都是不规范的。要将不规范的数据变为规范的数据变为规范的数据这是难点所在。)
转换(Transform) 任何对数据的处理过程都是转换。这些处理过程通常包括(但不限于)下面一些操作:
移动数据
根据规则验证数据
数据内容和数据结构的修改
将多个数据源的数据集成
根据处理后的数据计算派生值和聚集值

(转换的数据都已经通过抽取格式化了,相当于抽取较为简单。要对格式化的数据进行处理。)
加载(Load) 将数据加载到目标系统的所有操作。
(加载这里要考虑到加载的性能,通过数据流加载还是通过数据流进行加载,这依赖于加载的目标。有的数据库提供了流的加载方式有的没有提供,如果没有提供就要使用sql。)

概念扩展: ELTEII(Enterprise information integration)/Data federation

ELT是先抽取再加载到数据库最后转化,这样可以利用数据库自身的性能进行转换)

 

 

 

Kettle背景知识– ETLBI中的作用

kettle入门(1)

ETL过程:左边这部分是后台,右边这部分数据是前台。红框其实就是ETL的过程。ETL从业务系统里面把数据抽取出来,之后原样保存在数据缓冲区里面。之后根据建好的业务维度将数据从缓冲区里面经过处理加载到数据集市里面即建好的业务维度。之后数据集市向前端应用服务器提供数据,最后应用服务器将数据提供给用户。

  

 

Kettle背景知识– ETL 实现方式

  kettle入门(1)           

要在项目里面实现ETL一般最简单的就是写java代码或者pyhton脚本。图为随着时间变化三种不同实现ETL的手段的成本。

 

几种ETL工具

Kettle背景知识– ETL 商业软件
Informatica
IBM DataStage
Microsoft SSIS
Oracle ODI


Kettle
背景知识– ETL 开源软件
Kettle
Talend
CloverETL
KetlOctopus