第一章 Kettle 概述

发布时间 2023-03-23 09:57:45作者: 创客未来

1.1 ETL简介

  ETL(数据抽取、转换、装在的过程)对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种ETL工具的使用,必不可少。

  市面上常用的ETL工具有很多,比如Soop,DataX,Kettle,Taland等,作为一个大数据工程师,我们最好要掌握其中的两到三种。

1.2 Kettle简介

1.2.1 Kettle是什么

  Kettle是一款国外开源的ETL工具,纯java编写,可以在window、linux、unix上运行,绿色无需要安装,数据抽取高效稳定。

  Kettle中文名称叫水壶,该项目的主程序员MATT希望把各种数据放到一个壶里,然后以一种指定的格式流出。

  Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图像化的用户环境来描述你想要做什么,而不是你想怎么做。

  Kettle中有两种脚本文件,transformation(转换)和job(作业),transformation完成针对数据的基础转换,job则完成整个工作流的控制。

  Kettle现在已经更名为PDI,数据集成。

1.2.2 Kettle的两种设计

  简述:Transformation(转换):完成针对数据的基础转换。

      Job(作业):完成整个工作流的控制。

  区别:(1)作业是步骤流,转换是数据流。这是作业和转换最大的区别。

      (2)作业的每一个步骤,必须等到前面的步骤都跑完了,后面的步骤才会执行;而转换会一次性把所有控件全部先启动(一个控件对应启动一个线程),然后数据流会从第一个控件开始,一条记录、一条记录地流向最后的控件;

 

    

 

 

1.2.3 Kettle的核心组件

  1.勺子(Spoon.bat/spoon.sh):是一个图形化的界面,可以让我们用图形化的方式开发转换和作业。window选择Spoon.bat;Linux选择Spoon.sh

  2.煎锅(Pan.bat/pan.sh):利用Pan可以用命令行的形式执行由Spoon编辑的转换和作业;

  3.厨房(Kitchen.bat/kitchen.sh):利用Kitchen可以使用命令行调用由Spoon编辑好的Job;

  4.菜单(Carte.bat/Carte.sh):Carte是一个轻量级别的Web容器,用于建立专用、远程的ETL Server。

1.2.4 Kettle的特点

  免费开源:基于java的免费开源的软件,对商业用户也没有限制;

  易配置:可以在window、Linux、Unix上运行、绿色无需要安装、数据抽取高效稳定;

  不同数据库:ETL工具集,它允许你管理来自不同数据库的数据;

  两种脚本文件:transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制;

  图形界面设计:通过图形界面设计实现做什么业务,无需写代码去实现;

  定时功能:在job下的start模块,将一个定时的功能,可以每日,每周等方式进行定时;