Pentaho Kettle Solutions (读书笔记)【2. Kettle基本概念】

来源:互联网 发布:rends a10 2代编程 编辑:程序博客网 时间:2024/05/18 19:39

Kettle 设计模块

转换

转换包括一个或多个步骤(step),这些步骤由跳(hop)连接,跳定义了一个单向通道,允许数据从一个步骤向下一个流动。在Kettle里,数据的单位是行,数据流就是数据行从一个步骤到另一个步骤的流动。

  • 步骤

步骤名在转换范围内唯一;每个步骤(除生成记录)都会读写数据行;输入跳(incoming hops)和输出跳(outgoing hops);轮流发送和复制发送;

  • 转换的跳

跳(hop)实际上是两个步骤之间的被成为行集(row set)的数据行缓存

  • 并行

所有的步骤都以并发方式执行;转换的步骤几乎是同时启动

  • 数据行

行集里所有的行都应该有同样的数据结构;字段元数据不会在转换中发生变化;KETTLE_EMPTY_STRING_DIFFERS_FROM_NULL设置

  • 数据转换

作业

转换以并行方式执行,所以需要一个可以串行执行的作业去处理一些维护操作。一个作业包括一个或多个作业项,作业项的执行顺序由作业项之间的跳(job hop)和每个作业项的执行结果决定。

  • 作业项

作业项可以有影子拷贝,所有影子拷贝内信息相同;每编辑一个作业项,其所有影子拷贝的内容随之改变;结果对象(result object)包含数据行,但不是以流的形式传递,只有一个作业项完成了才会传递;一个作业必须有且只有一个开始作业项。

  • 作业跳

对作业项的结果判断如下:无条件执行;当运行结果为真时执行;当运行结果为假时执行。

  • 多路径和回溯

Kettle作业通过回溯算法决定执行路径

  • 并行执行

转换或作业的元数据

  • 名字 (unique)
  • 文件名
  • 目录
  • 描述
  • 扩展描述

数据库连接

  • 连接名称
  • 连接类型
  • 访问方式
  • 主机名
  • 数据库名
  • 端口号
  • 用户名和密码

工具

  • Spoon:图形界面工具,快速设计和维护复杂的ETL工作流
  • Kitchen:运行作业的命令行工具
  • Pan:运行转换的命令行工具
  • Carte:轻量级的(1MB)Web服务器,用来远程执行转换或作业

资源库

  • 数据库资源库
  • Pentaho资源库
  • 文件资源库

无论哪种资源库都应具有以下特性:中央存储;文件加锁;修订管理;依赖完整性检查;安全性;引用

虚拟文件系统

Kettle支持URL形式的文件名;
文件名:/data/filename.dat
文件名:file:///data/filename.dat
作业:http://www.someweb.com/filename.kjb
目录:zip:file:///somefile.zip
通配符:*.txt$

原创粉丝点击