Kettle基本使用

Posted diyo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kettle基本使用相关的知识,希望对你有一定的参考价值。

Kettle基本使用

Kettle的几个子程序的功能和启动方式

Spoon.bat    图形界面方式启动作业和转换设计器。

Pan.bat      命令行方式执行转换。

Kitchen.bat     命令行方式执行作业。

Carte.bat      启动web服务,用于Kettle的远程运行或集群运行。

Encr.bat     密码加密。

 

转换和作业

KettleSpoon.bat设计器用来设计转换(Transformation)和作业(job)。

  • 转换主要是针对数据的各种处理,一个转换里可以包含多个步骤(Step)。
  • 作业是比转换更高一级的处理流程,一个作业里包括多个作业项(Job Entry),一个作业项代表了一项工作,转换也是一个工作项。

 

###输入、输出、转换、过滤、字段选择、连接###

 

Kettle资源库—元数据

元数据的通用概念:

  • “描述性数据”或“数据的数据”

ETL的元数据:

  • 描述ETL要执行的任务

在Kettle里元数据的存储方式:

  • 资源库

    资源库宝库文件资源库,数据库资源库

    Kettle资源库类型可以插件扩展

  • XML文件

    .ktr转换文件的XML的根节点必须是<transformation>

    .kjb作业XML的根节点是<job>

Kettle资源库—资源库类型

数据库资源库:

  • 把Kettle的元数据串行化到数据库中,如R_TRANSFORMATION表保存了Kettle转换的名称、描述等属性。
  • 在Spoon里创建和升级数据资源库 

文件资源库:

  在文件的基础上的封装,实现了org.pentaho.di.respositpory.Repository接口。

  是Kettle4.0以后版本里增加的资源库类型

不使用资源库:

  直接保存为 ktr 或 kjb 文件。

Kettle资源库—如何选择资源库?

数据库资源库的缺点:

  • 不能存储转换或作业的多个版本。
  • 严重依赖于数据库的锁机制来防止工作丢失。
  • 没有考虑到团队,开发人员不能锁住某个作业自己开发。

文件资源库的缺点:

  • 对象(如转换、作业、数据库连接等对象)之间的关联关系难以处理,所以删除,重命名等操作会比较麻烦。
  • 没有版本历史。
  • 难以进行团队开发。

不使用资源库:

  使用SVN进行文件版本控制。

参考:

Kettle企业资源库:基于Apache Jackrabbit 的CMS系统。

 

Kettle资源库—管理资源库

ETL开发的几个阶段:

开发、测试、确认、发布

各个阶段对应的资源库:

开发资源库、测试(确认)资源库、发布资源库

各阶段推进

1.从开发资源库带测试资源库:

  注意命名规则。

  由一个人统一发布,避免冲突。

  两种移植方法:断开重连、导入/到处。

2.从测试(确认)资源库到发布资源库:导入/到处

不使用资源库

  SVN版本控制,测试打tag,发布建branch 

 

Kettle资源库—参数化

为什么要参数化:

  在资源库之间移植作业时,因为各个阶段的环境不一样,在作业里使用的数据库连接等元数据不能硬编码。

参数化的几个方法:

  • kettle.properties,文件位于java的user.home目录下
  • 自定义properties文件,通过 属性文件输入 步骤读取。
  • 使用参数表

参数表的结构

Environment  parameter_name  parameter_value  valid_from  valid_to

Dev      host_name      localhost      2011-01-01 2099-01-01

Test      host_name     192.168.12.10      2011-01-01 2013-05-01

Test      hose_name    192.168.12.11    2011-05-02 2099-01-01

 

Kettle运行方式—几中运行方式

图形化界面:Spoon

命令行:Pan、Kitchen

API:Kettle Java API 嵌入到其它应用

Kettle运行方式—Spoon

本地:在本地执行

远程:在远程服务执行,需要远程服务器执行Carte。

  • Carte是内嵌Jetty的 http server。
  • Carte执行命令 carte localhost 80080

集群:在集群上执行,需要转换里的某个步骤实现设置为集群方式运行。

 

以上是关于Kettle基本使用的主要内容,如果未能解决你的问题,请参考以下文章

Kettle基本使用

ETL工具kettle基本使用

kettle工具使用——测试基本面

kettle基本使用

kettle安装部署基本操作及实操文档

kettle的基本介绍