解压运行
1 ETL简介
ETL(Extract-Transform-Load,即数据抽取、转换、装载的过程),数据处理、转换、迁移的工具。
ETL工具:Sqoop,DataX,Kettle,Talend
1.2 Kettle简介
1.2.1 Kettle是什么
- 国外开源,纯java编写
- 中文名水壶
- 管理不同数据库的数据
- 图形化
- 两种脚本文件:transformation和job。transformation针对数据的基础转换,job则对工作流控制。
- 更名为PDI(pentaho Data Integration-Pentaho数据集成)
1.2.2 kettle的两种设计
Transformation(转换):完成针对数据的基础转换
Job(作业):完成整个工作流的控制
区别:
- 作业是步骤流,转换是数据流
- 作业的每一个步骤,必须等到前面的步骤都跑完了,后面的步骤才会执行;而转换会一次性把所有控件全部先启动(一个空间对应启动一个线程),然后数据流从第一个控件开始,一条记录、一条记录地流向最后的控件。
1.2.3 Kettle的核心组件
- 勺子(spoon.bat/spoon.sh):是一个图形化的界面,可以让我们用图形化的方式开发转换和作业。
- 煎锅(pan):利用Pan可以用命令行的形式执行由Spoon编辑的转换和作业。
- 厨房(Kitchen):利用Kitchen可以使用命令行调用由Spoon编辑好的Job。
- 菜单(Carte):是一个轻量级的Web容器,用于建立专用、远程的ETL Server。
1.2.4 特点
- 免费开源
- 易配置
- 不同数据库
- 两种脚本文件
- 图形界面设计
- 定时功能
2.2 安装
2.2.1 概述
在实际企业开发中,都是在本地环境下进行kettle的job和Transformation开发的,可以在本地运行,也可以连接远程机器运行。
2.2.2 安装
- 安装jdk,版本建议1.8版本以上
- 下载压缩包,解压运行
- 双击spoon.bat,启动图形化界面工具
2.2.3 目录说明
2.4 kettle初体验
2.5 kettle核心概念