Kettle是个好工具,他的开源性以及免安装性决定其用起来的方便。在这篇文章当中不细说ETL过多的理论,直接上手。 第一次编写Kettle小JOb,首先要说一说编写JOB的步骤:
需求如下:
说明:
源表:数据库etltest中存在3张表:
目标表:etltest中一张表
1:如上的一个需求,Mapping关系已经很明显。
2:打开Kettle工具,点击新建,先新建一个transformation 并保存。保存后缀名为.ktr文件
3:设计如下图:
此时的transformation 已经全部设计完成,并将数据落地为flat file 文件(具体落地到表的未操作)
下一步需要解决在服务器运行问题,以及如何重复的在某个时间点调用的问题。
实现这个方式可以通过两种方式,一种是Kettle自带的job实现。另一种是编写shell 脚本。
第一种情况,Kettle自带的通过配置相应的参数即可实现,此出不再详细叙述。
第二种情况,需要先介绍下相关概念。
Kettle有两个Bat 包,一个Kitchen.bat,一个span.bat .
Kitchen——工作(job)执行器 (命令行方式)
Span——转换(trasform)执行器 (命令行方式)
这里我们重点讲一下 Kitchen.bat作业执行器 ,这个是经常要用到的。