一:kettle的简介
1.Kettle概述
1 ) Kettle是国外免费的开源轻量级ETL工具,基于Java语言开发,在Windows.Linux、UNIX系统上运行,不需要绿色安装,高度
2 ) Kettle工具主要由四个组件组成,分别是Spoon、Pan、Kitchen、Carte组件,具体功能如下:
*Spoon是一个集成开发软件,用于生成作业和转换,执行或调试作业和转换,以及监视ETL操作的性能。
*Pan在命令行上运行Spoon生成的转换程序。
*Kitchen在命令行上运行Spoon生成的作业程序
*Carte是基于Jetty的轻量级HTTP服务器,主要用于监视HTTP作业和转换的进度。
2.Kettle设计原则
易于开发,避免定制开发。 所有用户都可以通过用户界面进行,没有命名限制,在透明、灵活的数据通道上,只映射需要映射的字段。
二:kettle的下载安装
1、Kettle官网下载地址为http://SourceForge.net/projects/pentaho/files/data integration /
2、解压缩文件,运行spoon.bat。
3、配置Kettle (在网上搜索有详细的引导步骤)。
4、启动按键。
注意:绿色不需要安装,只需要解压缩,不需要最新版本.在某些情况下,最新版本可能会出现一些问题,
三:kettle的基本概念(作业和转换)
1. Kettle工具的运行分为两个级别:转换和作业。 这两个级别的主要区别是数据传输和执行方法
2.kettle的概念模型
3 .转换
1 )变换的定义:变换是ETL方法求解的重要部分之一,主要用于数据提取、变换和加载等,其本质是图形数据变换结构逻辑结构。 包括读取文件、过滤输出行、清除数据或将数据加载到数据库中等步骤,正在转换的步骤通过跃点连接。
2 )下图为Kettle转换的示例。
上述转换示例实现了从数据库读取数据并将数据写入文本文件。 此转换包括步骤、跳转、注释和数据行。 具体说明如下。
3 )步骤)转换过程中的基本组件(也称为控件)显示为图标。
特性: a .每个步骤都需要一个名称,且该名称在转换范围内是唯一的;
b .各步骤可读,写入数据行,生成步骤除外。 该步骤仅用于写入数据; 步骤包括:输入跳转并接收数据;
c .大多数步骤都有多个输出跳,可以将一个步骤的数据发送设置为按顺序发送和复制发送
d .在执行过渡时,一个线程执行一个步骤和步骤的多个复制,所有步骤的线程几乎同时执行,数据行在步骤之间连续跳转。
2 )跳转)数据通道。 用于连接两个步骤,可以将元数据从一个步骤传递到另一个步骤,支持分发和复制等方式。
注:由于每个步骤都是单独的线程,因此在启动转换时,每个步骤都会创建各自的线程,接收并推送数据以使并发程序达到最高。 因此,数据处理的顺序与节点的连接箭头的顺序不同。 由于所有正在转换的步骤都依赖于上一个步骤来获取字段值,因此在创建新的跳转时,不能在转换过程中循环。
3 )注释)在工作中以文本显示。 为了提高过程的可读性,放在任何位置都可以。 (评论不参与程序的处理)
4 )数据行)数据以数据行的形式按步骤流动。 一个数据行是从零到多个字段的集合。 Kettle字段的数据类型共有10种。 具体请参照下图。
4 .工作
1 )作业定义:个作业包含一个或多个作业项,这些作业项按某种顺序执行。 作业的执行顺序由作业项之间的跳转和每个作业项的执行结果决定。 在任务栏中选择“文件”-“新建”-“作业”-“命令”。 下图示例
2 )工作核心对象:
A; 工作组成部分:工作项目是
业的基本构成部分,也可称为控件。作业项类似于转换中的 步骤,也可以使用图标的方式进行图形化展示。(所有作业项目都是以串行方式执行的) 作业跳是作业项之间的连接线,它定义了作业的执行路径。作业里每个作业项的不同运行 结果决定了作业的不同执行路径,具体有:
b;无条件执行:不论上一个作业项执行成功还是执行失败,下一个作业项都会执行
c;当运行结果为“真”时则执行:当上一个作业项的执行结果为“真”时,执行下一个作业项。通 常需要在无错误执行的情况下使用)
d;当运行结果为“假”时则执行:当上一个作业项的执行结果为“假”或者没有执行成功执行时, 执行下一个作业项
3)多路径和回溯:
Kettle使用一种回溯算法执行作业里的所有作业项 并且作业项的执行结果(真/假)决定执行的路径。回潮算法: 假设执行到一条路径的某个 节点时,,依次执行这个节点的所有子路径,直到没有可执行的子路径,就返 回该节点的上一个节点,如此反复。
作业项结果:
作业项的执行结果不仅决定了作业的执行路径,还向下一个作业项传递了一个结果对象,结果对象包含一组数据行、一组文件名、行数(读、写、输人、输出、更新、删除、拒绝的行数)、错误数(转换中的错误数)以及脚本作业项的退出状态。
四:kettle的基本功能
1.转换管理
主要包括输入,输出,转换,应用,流程,脚本,查询,连接,检验,作业,映射,批量加载等 功能。转换功能常用控件如下图所示:
2.作业管理
主要包括通用,邮件,文件管理,条件,脚本,批量加载等。下图描述Kettle作业常用功能的控件:
3 数据库连接
数据库种类多,因此Kettle工具的数据库连接窗口包含多种数据库类型