Kettle 简介: Kettle 是使用Jav a 语言开发的一个开源ETL 工具(Ex tract--Transform--Loading),完成数据的抽取、转换、加载工作
Kettle 的意思是“水壶”,把各种各样的数据倒进水壶中,经过转换、处理,以我们所需的格式输出对我们有价值的信息
问题:为什么要用kettle
需求:不同的数据库(同一种类型但实例不同的数据库,或者不同类型的数据库)之间、不同的数据存储形式(数据库、文本文件)之间需要协同工作,计算、处理、转换成我们需要的数据
实际应用场景:对帐系统需要读取ATM 的交易流水文件到 Oracle 数据库中并进行统计
不使用kettle 的情况:专门编写程序(Jav a 或 C)导入到数据库中,在 Oracle 中编写存储过程进行批量统计
使用kettle 的情况:通过“文本文件输入”step,指定分隔符,即可完成导入,无需编写程序;使用kettle 中的各种对象可以完成统计功能,不需要编写存储过程
两种情况对比: 情况一:需要编写专门的导入程序,不具备通用性
存储过程在不同类型的数据库中语法不同,也不具备通用性
但不需要掌握 kettle
情况二:不需要编写专门的导入程序,不同的文件格式只需要修改“文本文件输入”step 中的对应参数即可
不需要针对不同的数据库编写不同版本的存储过程,只需要使用标准 SQL就可以具备通用性
需要掌握 kettle
好处:跨数据库、跨平台,减少我们的工作量
Kettle 中有两种类型的对象,分别对应两种类型的文件
一种是Transformation(以后简称Trans),即转换;一种是Job,即工作
Trans 完成具体的任务,Job 用于控制转换之间的执行顺序
第一部分:与数据库打交道 1 创建数据库连接 新建一个Transformation,在“DB 连接”下