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基本使用的更多相关文章

  1. 大量数据快速导出的解决方案-Kettle

    1.开发背景 在web项目中,经常会需要查询数据导出excel,以前比较常见的就是用poi.使用poi的时候也有两种方式,一种就是直接将集合一次性导出为excel,还有一种是分批次追加的方式适合数据量 ...

  2. 数据仓库开发——Kettle使用示例

    Kettle是一个开园ETL工具,做数据仓库用Spoon. 工具:下载Spoon,解压即可用   1.认识常用组件:     表输入     插入\更新     数据同步     文本文件输出     ...

  3. kettle中含有参数传递的定时任务

    (1)新建一个作业(新建->作业),并在控制面板右键: (2)设置一个命令参数: (3)把作业的参数传递给转换: (4)在转换中右键设置转换属性: (5)接收作业中设置的传递参数: (6)参数的 ...

  4. kettle中全局变量的设置

    设置全局变量. 找到.properties文件: 在文件中设置值: 在kettle中新建一个job(不用做任何设置): 转换中获取便元的设置: 重启kettle的执行结果:

  5. kettle中变量的设置和使用介绍

    有没有能统一管理一个参数,然后让所有的transformation和job都可以读到呢? 答案是有 1.首先,打开.kettle\kettle.properties(个人主机是:C:\Users\fo ...

  6. kettle将Excel数据导入oracle

    导读 Excel数据导入Oracle数据库的方法: 1.使用PL SQL 工具附带的功能,效率比较低 可参考这篇文章的介绍:http://www.2cto.com/database/201212/17 ...

  7. kettle转换和作业插件开发及调试

    这是一篇几年前写下的文档,最近打算根据这篇文档重写一下kettle插件的教程.结果各种理由,一推再推.今天索性将这篇文档发布出来,分享给大家,例子等有空再补上.这是一篇基于kettle3.2基础上完成 ...

  8. kettle系列-[KettleUtil]kettle插件,类似kettle的自定义java类控件

    该kettle插件功能类似kettle现有的定义java类插件,自定java类插件主要是支持在kettle中直接编写java代码实现自定特殊功能,而本控件主要是将自定义代码转移到jar包,就是说自定义 ...

  9. kettle系列-kettle管理平台部署说明

    本介绍我的开源项目[kettle-manager]kettle管理平台如何获取并部署使用,该项目介绍请参看另一篇博文:http://www.cnblogs.com/majinju/p/5739820. ...

  10. kettle系列-我的开源kettle管理平台[kettle-manager]介绍

    kettle管理工具 专门为kettle这款优秀的ETL工具开发的web端管理工具. 项目简介 kettle作为非常优秀的开源ETL工具得到了非常广泛的使用,一般的使用的都是使用客户端操作管理,但问题 ...

随机推荐

  1. jsp课堂笔记1

    http协议:规范浏览器和服务器交互或通信的规则 https:基于http实现,比http更加安全,提供了身份验证和通信内容加密  服务器:1.配置比较高的电脑  2.他就是一个应用 http1.0: ...

  2. 搞事情?Spring Boot今天一口气发布三个版本

    学无止境?本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BAT的乌托邦]逐个击 ...

  3. 集合和Iterator迭代器

    集合 集合是java中提供的一种容器,可以用来存储多个数据. 注意: ①.集合只能存放对象.比如你存一个 int 型数据 1放入集合中, 其实它是自动转换成 Integer 类后存入的,Java中每一 ...

  4. 《谁说菜鸟不会数据分析》高清PDF全彩版|百度网盘免费下载|Python数据分析

    <谁说菜鸟不会数据分析>高清PDF全彩版|百度网盘免费下载|Python数据分析 提取码:p7uo 内容简介 <谁说菜鸟不会数据分析(全彩)>内容简介:很多人看到数据分析就望而 ...

  5. AI大有可为:NAIE平台助力垃圾分类

    摘要:生活垃圾的分类和处理是目前整个社会都在关注的热点,如何对生活垃圾进行简洁高效的分类与检测对垃圾的运输处理至关重要.AI技术在垃圾分类中的应用成为了关注焦点. 如今AI已经是这个时代智能的代名词了 ...

  6. 求100以内所有奇数的和,存于字变量X中。

    问题 求100以内所有奇数的和,存于字变量X中. 代码 data segment x dw ? data ends stack segment stack db 100 dup(?) stack en ...

  7. asp.net mvc 模拟百度搜索

    页面代码: <td><span>*</span>车牌号码:</td> <td> <div id="search"& ...

  8. C/C++编程笔记:流行的数字游戏【2048】,C语言400行源代码分享

    游戏介绍 你玩过2048吗?2048是一款流行于各大网页和手机的数字游戏,手机安卓版推出的是<挑战2048>,之后的版本中还加入了双人对战的游戏模式,更加受到玩家的热捧. 2048的游戏规 ...

  9. 5.13 省选模拟赛 优雅的绽放吧,墨染樱花 多项式 prufer序列 计数 dp

    LINK:优雅的绽放吧,墨染樱花 当时考完只会50分的做法 最近做了某道题受到启发 故会做这道题目了.(末尾附30分 50分 100分code 看到度数容易想到prufer序列 考虑dp统计方案数. ...

  10. JQuery插件,轻量级表单模型验证(续 二)

    好不容易,有心思,那就把没做完的JQuery轻量级表单验证做完吧 之前做到了空参数验证的,现在增加带参数的验证. 附上html <form id="ValidataForm" ...