一、kettle是什么?
一款国外开源的ETL工具,纯JAVA编写,无需安装。
Kettle 主要包含4个产品:
Spoon:kettle图形设计工具(GUI)
Pan:transform执行器,可命令行执行transform,如:Pan /file ***.ktr
Kitchen:Job执行器,可命令行执行Job,如 Kitchen /file ****.kjb
Carte: kettle提供的web server的程序,在kettle调用集群(cluster)来进行分布式分发、处理任务的时候,可以开启多个carte服务进程来进行分发ETL(master)任务和 接收,运行,提交ETL任务(slave)
二、kettle主要组件
1、job
JOB:实际上就是kettle中的任务流,用于调用transformation和其他JOB,由entry和hop组成。
jobEntry类图:
其执行流程:
2 、transform
组成部分:step 和 hop
执行流程:
step直接是通过数据流进行交换,包括一个rowMeta和一组data,其中rowMeta就是元数据,指定了每列数据的名称和类型
3、资源库
实际就是保存所有产生的kjb、ktr和数据库连接等其他文件,kettle提供了文件库和数据库两种方式,主要区别就是一个是直接将产生的文件保存在文件夹下,一个是保存在数据库中。