ETL工具kettle原理简介

时间:2021-09-08 20:45:41

一、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主要组件

   ETL工具kettle原理简介

   1、job

         JOB:实际上就是kettle中的任务流,用于调用transformation和其他JOB,由entry和hop组成。

   ETL工具kettle原理简介      

jobEntry类图:

   ETL工具kettle原理简介


其执行流程:

     ETL工具kettle原理简介

   

2 、transform

       组成部分:step 和 hop

     ETL工具kettle原理简介

     执行流程:

     ETL工具kettle原理简介

      step直接是通过数据流进行交换,包括一个rowMeta和一组data,其中rowMeta就是元数据,指定了每列数据的名称和类型

             ETL工具kettle原理简介

              3、资源库

       实际就是保存所有产生的kjb、ktr和数据库连接等其他文件,kettle提供了文件库和数据库两种方式,主要区别就是一个是直接将产生的文件保存在文件夹下,一个是保存在数据库中。