一、ETL 简介
ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。
二、Kettle 简介
Kettle 是一款国外开源的 ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员 MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Kettle 这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
Kettle 有两种脚本文件,transformation 和 job
kettle 现在已经更名为PDI ,即 Pentaho Data Integration - Pentaho 数据集成。
三、Kettle 的结构 - Spoon 和 Data Integration Server 、Enterprise Console
Spoon 是构建 job 和 transformation 的工具。Spoon以拖拽的方式图形化设计,能够通过Spoon 调用专用的数据集成引擎或者集群。
Data Integration Server 是一个专用的ETL Server,它的主要功能有:
功能 | 描述 |
执行 | 通过Pentaho Data Integrantion 引擎执行ETL的作业或转换 |
安全性 | 管理用户、角色或集成的安全性 |
内容管理 | 提供一个集中的资源库、用来管理ETL的作业和转换。资源库包含所有内容和特征的历史版本。 |
时序安排 | 在 Spoon 设计者环境中提供管理 Data Integration Server 上的活动的时序和监控的服务。 |
Enterprise Console (企业控制台)提供了一个小型的客户端,用于管理 Pentaho Data Integration 企业版的部署。
包括企业版本的证书管理、监控和控制远程 Pentaho Data Integration 服务器上的活动、分析已登记的作业和转换的动态绩效。
四、kettle 的核心组件
名称 | 描述 |
Spoon | 一个图形接口,用于编辑作业和转换的桌面应用。 |
Pan | 一个独立的命令行程序,用于执行由Spoon编辑的转换和作业。 |
Kitchen | 一个独立的命令行程序,用于执行由Spoon编辑的作业。 |
Carte | Carte 是一个轻量级的 Web 容器,用于建立专用、远程的 ETL Server。 |
五、kettle 的模型概念
Kettle 的执行分为两个层次:Job (作业)和Transformation(转换)