ETL是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。
ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据, ETL是BI(商业智能)项目重要的一个环节。
kettle(现在已经更名为PDI,Pentaho Data Integration-Pentaho数据集成)是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
结合概念模型
转换(transaformation)是ETL解决方案中最主要的部分,它处理抽取、转换、加载各种对数据行的操作。
转换包含一个或多个步骤(step),如读取文件、过滤数据行、数据清洗或将数据加载到数据库。
转换里的步骤通过跳(hop)来连接,跳定义一个单向通道,允许数据从一个步骤向另一个步骤流动。
在Kettle里,数据的单位是行,数据流就是数据行从一个步骤到另一个步骤的移动。