欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Kettle 工具使用

程序员文章站 2022-04-11 07:51:17
...

kettle简介

1.数据仓库领域的一个重要概念就是数据整合。数据整合就是把不同数据库中的数据组合到一起,对外提供统一的数据视图。 
2.kitchen用于执行作业,pan用于执行转换。 
3.跳就是从一个作业项/步骤的中心连接到另一个作业项/步骤的一条线。在作业里跳定义的是控制流,在转换里跳定义的是数据流。 
4.转换(transformation)是etl解决方案中最主要的部分,它处理抽取,转换,加载各阶段各种对数据行的操作。转换ID是数字,但是作业ID就是字符串。转换里的很多步骤是并行执行的,每个步骤都打开一个独立的数据库连接并开始一个事务。尽管这样在很多情况下会提高性能,但当不同步骤更新同一个表时,也会带来锁和参照完整性的问题。 
5.kettle以插件的方式灵活地定义不同种类的资源库,但不论是哪种资源库,他们的基本要素是相同的:这些资源库都使用相同的用户界面,存储相同的原数据。目前有三种常见的资源库:数据资源库,Pentaho资源库,文件资源库。 
6.KITCHEN允许你批量使用由Chef设计的任务(例如使用一个时间调度器)。KITCHEN也是一个后台运行的程序。 
7.Kettle中有两种脚本文件,transformation和job。transformation完成针对数据的基础转换,job则完成整个工作流的控制。 
8.Kettle家族目前包括4个产品:Spoon、Pan、CHEF、Kitchen 
9.SPOON 允许你通过图形界面来设计ETL转换过程(Transformation)。 
10.PAN 允许你批量运行由Spoon设计的ETL转换 (例如使用一个时间调度器)。Pan是一个后台执行的程序,没有图形界面。 
11.CHEF 允许你创建任务(Job)。 任务通过执行每个转换,任务,脚本等等,更有利于自动化更新数据仓库的复杂工作。任务将会被检查,看看是否正确地运行了。
 

一、子程序功能和启动方式介绍

 Kettle 工具使用

Spoon.bat: 图形界面方式启动作业和转换设计器。
Pan.bat: 命令行方式执行转换。
Kitchen.bat: 命令行方式执行作业。
Carte.bat: 启动web服务,用于 Kettle 的远程运行或集群运行。
Encr.bat: 密码加密

  转换和作业:

Kettle 的 Spoon 设计器用来设计转换(Transformation)和 作业(Job)。

  •转换主要是针对数据的各种处理,一个转换里可以包含多个步骤(Step)。

  •作业是比转换更高一级的处理流程,一个作业里包括多个作业项(Job Entry),一个作业项代表了一项工作,转换也是一个作业项。

二、第一个转换——hello world

  1.运行Spoon.bat,打开图形设计界面

  Kettle 工具使用

  2.通过导航栏:文件-新建-转换,新建一个转换

  Kettle 工具使用

  3.在左边选择输入

    这里以简单的生成随机数为输入

  Kettle 工具使用

  双击节点进行配置:

   Kettle 工具使用

   4.同理选择输出

    这里选择最简单的文本输出

    Kettle 工具使用

    选中输入节点,按住shift键,通过鼠标左键进行节点连接!

  5.运行转换

  Kettle 工具使用

  运行之前保存转换:

  Kettle 工具使用

  查看执行结果:

  Kettle 工具使用

  桌面上可以查看转换的结果文件:

  Kettle 工具使用

  6.预览

    比如上面的例子,如果只是想看一下随机数是否正确正常,不想再另外配一个文本输出来查看结果,可以删除输出节点,使用预览:

  Kettle 工具使用

  点击快速启动,即可查看结果:

  Kettle 工具使用

  7.添加转换过程

    这里添加一个最常用的字段选择,通过节点连接后,点击获取字段可以选择所有,然后在字段列表进行选择:

    Kettle 工具使用

    通过删除选中行(DEL键),过滤指定的字段,预览即可查看转换的结果:

  Kettle 工具使用

  8.改变并发数

    例如上面的生成随机数,如果想生成多个而不只是一行,可以在生成随机数节点上右键->改变开始复制的数量,节点上即会对应进行显示:

  Kettle 工具使用

  9.流程操作

    除了转换,还有一些比较常用的流程操作:

  Kettle 工具使用

  这里以常用的记录过滤与空操作举例(空操作视为垃圾箱,用于丢弃不要的过滤结果等)

  这里对结果进行不同方向的处理:过滤为True的放入文本文件,为False的丢弃:

  Kettle 工具使用

  配置过滤的节点:主要配置字段的过滤条件(文本文件节点和前文一样配置)

  Kettle 工具使用

  保存并启动转换,转换结果不再赘述。

  10.计算器案例操作

    例如进行一些字段与字段之间的计算或者字段的计算等操作

    可以通过搜索找到计算器节点(或者在转换下找),配置如下:

  Kettle 工具使用

  11.连接案例

    在输入中选择两个自定义常量数据,这个一般用于自己编造测试数据,在连接中选择记录集连接:

  Kettle 工具使用

    配置自定义常量数据:分别在元数据中配置字段定义信息,在数据中写入测试数据:

    Kettle 工具使用

    配置记录集:

    Kettle 工具使用

    预览可查看结果:

    Kettle 工具使用