6.13总结:Kettle、ETL
Kettle
Kettle 是⼀款纯 Java 编写的开源 ETL ⼯具。 Kettle 是 PDI ( Pentaho Data Integeration )的前⾝。表⽰抽取、转换、装⼊和加载数据, 翻译成中⽂是⽔壶的意思,希望把各种数据放到⼀个壶⾥,像⽔⼀样,以⼀种指定的格式流出,表达数据流的含义。
Kettle 共有两类设计模式,转换( Transformation )和作业( Job );
转换⽤于控制数据处理和流转,作业则⽤于转换集成和流程控制。
ETL
ETL 的 3 个字⺟分别代表 Extract (抽取)、 Transform (转换)和 Load (装载)。
数据抽取:从数据源端的系统中,抽取⽬标端系统需要的数据。
数据转换:从数据源端获取的数据按照业务需求,转换成⽬标端要求的数据形式,并对错误、不规范、不⼀致的数据(俗称”脏数据”)进⾏清洗和加⼯。
数据装载:将转换后的数据装载到指定数据库或⽂件中。
练习
1.处理等于 3000 抽取到 emp3000 ,不等于抽取到 empnot3000



计算每个员⼯的年薪

2.查询所有⼤于平均⼯资的员⼯信息


3.表 A 和表 B 数据结构完全相同,表⾃建,数据⾃定义 表 A 数据存在新增 & 修改 & 删除 操作,实现表 A 和表 B 的数据保持⼀致

(表A修改后记得提交!)

执行后表B与表A数据一致(将表A更新到表B)

4.数据来⾃ excel ,利⽤ PRODUCTID 和 CUSTOMID 进⾏关联后,插⼊到本地数据库中的⼀个表中
1 | --建表 |

执行后查看表pcid

新建作业,发送邮件
SMTP 服务需要⾃⼰登录 qq 邮箱开通:账号与安全-安全设置-根据提⽰开通服务

转换错误执行发送邮件,之后成功接收邮件

使⽤ windows ⾃带任务计划管理程序定时调⽤ Kettle 作业,同时输出 BASIC 级别⽇志
将以下代码写入到winjob.bat
1 | D: |
Windows管理工具-任务计划程序-操作-创建基本任务

到点任务执行,发送邮件并生成log

