kettle教程(1) 简单入门、kettle简单插入与更新。打开kettle

本文要点:Kettle的建立数据库连接、使用kettle进行简单的全量对比插入更新:kettle会自动对比用户设置的对比字段,若目标表不存在该字段,则新插入该条记录。若存在,则更新。

 

Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。(引用百度百科)

1、Kettle的下载与安装(在本文中使用的kettle版本为6.1.0.1-196)

  kettle的最新下载地址:http://community.pentaho.com/projects/data-integration/

2、打开kettle。

  首先解压下载下来的压缩包如:pdi-ce-6.1.0.1-196.zip

  然后打开Spoon.bat,如图所示:

  

  打开后请耐心等待一会儿时间。

3、建立转换。

  在文件->新建装换。

  新建转换后在左边的主对象树中建立DB连接用以连接数据库。如图所示:

  

  建立数据库连接的过程与其他数据库管理软件连接数据库类似。

  注意:在数据库链接的过程中,可能会报某个数据库连接找不到的异常。那是因为你没有对应的数据库链接驱动,请下载对应驱动后,放入kettle的lib文件夹。

4、简单的数据表插入\更新

  (1)新建表插入

  在左边的面板中选择“核心对象”,在核心对象里面选择“输入->表输入”,用鼠标拖动到右边面板。如图所示:

  双击拖过来的表,可以编辑表输入。

  选择数据库连接和编辑sql语句,在这一步可以点击预览,查看自己是否连接正确。

  (2)通过插入\更新输出到表。

  在左边面板中选择核心对象、选择“输出->插入\更新”如图所示:

  编辑插入更新:

  首先:表输入连接插入更新。

    选中表输入,按住shift键,拖向插入更新。

  然后:双击插入更新,编辑它。

  到这里基本上,这个转换就要做完了,可以点击运行查看效果,看是否有误,这个要先保存了才能运行,可以随意保存到任何一个地方。

5、使用作业控制上面装换执行。

  使用作业可以定时或周期性的执行转换,新建一个作业。并从左边面板拖入start 和转换。

  

  双击start可以编辑,可以设置执行时间等等

  点开装换,可以设置需要执行的转换任务,比如可以执行上面我们做的转换,XXX.ktr

  最后点击运行即可。

  到这里,一个简单的通过作业调度的kettle就算做完了。

附录:测试数据表

 1 -- ----------------------------
 2 DROP TABLE IF EXISTS `student`;
 3 CREATE TABLE `student` (
 4   `userId` int(11) NOT NULL AUTO_INCREMENT,
 5   `userName` varchar(20) DEFAULT NULL,
 6   `userage` int(11) DEFAULT NULL,
 7   `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
 8   PRIMARY KEY (`userId`)
 9 ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
10
11 -- ----------------------------
12 -- Table structure for student2
13 -- ----------------------------
14 DROP TABLE IF EXISTS `student2`;
15 CREATE TABLE `student2` (
16   `userId` int(11) NOT NULL AUTO_INCREMENT,
17   `userName` varchar(20) DEFAULT NULL,
18   `userage` int(11) DEFAULT NULL,
19   `timestamp` timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00‘ ON UPDATE CURRENT_TIMESTAMP,
20   PRIMARY KEY (`userId`)
21 ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

时间: 2024-10-10 09:50:55

kettle教程(1) 简单入门、kettle简单插入与更新。打开kettle的相关文章

iBatis简单入门教程

iBatis 简介: iBatis 是apache 的一个开源项目,一个O/R Mapping 解决方案,iBatis 最大的特点就是小巧,上手很快.如果不需要太多复杂的功能,iBatis 是能够满足你的要求又足够灵活的最简单的解决方案,现在的iBatis 已经改名为Mybatis 了. 官网为:http://www.mybatis.org/ 搭建iBatis 开发环境: 1 .导入相关的jar 包,ibatis-2.3.0.677.jar .mysql-connector-java-5.1.6

Git超简单入门简明教程--写给一直不敢用Git的同学

从2014年2月12号开始工作到现在,已经快小半年了,还记得第一次接触集中式版本控制工具SVN时的惊喜,这对于之前一直独立开发的我来说,才明白原来代码还可以这样管理!当然,现在对于SVN的理解,也不过是知道运行原理,能满足工作里一些简单的代码版本控制罢了.对于Git这个版本控制工具,其实已经听说很长时间了,也明白Git与SVN的工作原理的区别,也一直想入门接触一下,但是苦于下载的一些教材太厚,内容太多,一直也没上手练.正好,这几天事件比较宽裕,于是又找来相关的资料,开始慢慢接触Git的使用,希望

程序员,一起玩转GitHub版本控制,超简单入门教程 干货2

本GitHub教程旨在能够帮助大家快速入门学习使用GitHub,进行版本控制.帮助大家摆脱命令行工具,简单快速的使用GitHub. 做全栈攻城狮-写代码也要读书,爱全栈,更爱生活. 更多原创教程请关注头条号.每日更新.也可以添加小编微信:fullstackCourse.一起交流,获取最新全栈教程信息.因为FQ原因,不能下载客户端的同仁,可以关注后回复“GitHub客户端”获取安装软件. 上篇教程:GitHub这么火,程序员你不学学吗? 超简单入门教程 干货 GitHub概念部分出现了一丝纰漏.为

Swift简单入门教程:30分钟玩转Swift

通常来说,编程语言教程中的第一个程序应该在屏幕上打印“Hello, world”.在 Swift 中,可以用一行代码实现:    println("hello, world") 如果你写过 C 或者 Objective-C 代码,那你应该很熟悉这种形式——在 Swift 中,这行代码就是一个完整的程序.你不需要为了输入输出或者字符串处理导入一个单独的库.全局作用域中的代码会被自动当做程序的入口点,所以你也不需要main函数.你同样不需要在每个语句结尾写上分号. 这个教程会通过一系列编程

Android基础入门教程——2.4.2 ListView简单实用

Android基础入门教程--2.4.2 ListView简单实用 标签(空格分隔): Android基础入门教程 本节引言: 一口气把Android入门网络编程的章节写完了,本节我们来继续学习没有讲完的UI控件部分, 回顾上一节,我们介绍了Adapter适配器的概念,然后学习了三个最简单的适配器的使用: ArrayAdapter,SimpleAdapter和SimpleCursorAdapter,而本节给大家讲解的是第一个 需搭配Adapter使用的UI控件:ListView,不过在版本中被R

C# WCF简单入门图文教程(VS2010版)

C# WCF简单入门图文教程(VS2010版) 作者:丶一二丶 字体:[增加 减小] 类型:转载 时间:2016-03-17我要评论 这篇文章主要介绍了WCF简单入门图文教程,版本是VS2010版,帮助大家轻松学习了解DataContract.ServiceContract等特性,感兴趣的小伙伴们可以参考一下 在这个例子中我们将使用VS2010创建一个WCF服务,其中会了解[DataContract][ServiceContract]等特性. 内置的WCFSVCHost,并使用“WCF测试客户端

SpringMVC 基础教程 简单入门实例

SpringMVC 基础教程 简单入门实例 标签: Spring MVCspringmvcSpringMVC教程基础教程SpringMVC实例 2013-05-09 13:44 170403人阅读 评论(69) 收藏 举报  分类: Java(23)  Spring框架(3)  版权声明:本文为博主原创文章,未经博主允许不得转载. spring MVC 入门教程二: 一个简单的入门实例教程 该实例的源码和实例中的jar 源码:http://download.csdn.net/detail/swi

GitHub这么火,程序员你不学学吗? 超简单入门教程 【转载】

本GitHub教程旨在能够帮助大家快速入门学习使用GitHub. 本文章由做全栈攻城狮-写代码也要读书,爱全栈,更爱生活.原创.如有转载,请注明出处. GitHub是什么? GitHub首先是个分布式的版本控制库.通过使用git,可以方便的记录代码版本. 因国内外大量著名的项目,都开始搬迁到github.它又可以称为开源代码社区. github还是学习的好地方,学习优秀的代码. 可对其他项目中有bug的地方进行改进提交,集合众人的力量促进软件的优化改善. github何其火热,截至2015年2月

NumPy简单入门教程

# NumPy简单入门教程 NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组.它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体验在原生Python中永远无法体验到的速度. NumPy绝对是科学Python成功的关键之一,如果你想要进入Python中的数据科学和/或机器学习,你就要必须学习它.在我看来,NumPy的API设计得很好,所以我们要开始使用它并不困难. 这是一系列关于科学Python的文章中的第二篇,别忘了看看其他