学习Kettle 第1天
ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少,这里我要学习的ETL工具是Kettle!
Kettle简介
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
kettle的结构 Spoon和Data Integration Server
- Spoon是构建ETL Jobs和Transformations的工具。Spoon以拖拽的方式图形化设计,能够通过spoon调用专用的数据集成引擎或者集群。
- Data Integration Server是一个专用的ETL Server,它的主要功能有:
kettle的核心组件
- Spoon 通过图形接口 , 用于编辑作业和转换的桌面应用
- Pan 一个独立的命令行程序 , 用于执行由Spoon编辑的转换和作业
- Kitchen 一个独立的命令行程序 , 用于执行Spoon编辑的作业
- carte 一个轻量级的Web容器 , 用于建立专用 , 远程的ETL Server
Kettle概念模型
Kettle的执行分为两个层次:Job(作业)和Transformation(转换)。
Transformation由step和hop构成 , step与hop能够相互通信
job执行的作业可以是自身的 , 也可以是transformation , 或者Shell , SQL , 还可以检查文件 , 表是否存在