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;

kettle教程(1) 简单入门、kettle简单插入与更新。打开kettle的更多相关文章
- yii2实战教程之新手入门指南-简单博客管理系统
作者:白狼 出处:http://www.manks.top/document/easy_blog_manage_system.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文 ...
- KETTLE教程实战
kettle初探 Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定.Kettle 中文名称叫水壶,该项目的主程 ...
- kettle简单插入与更新
Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定.Kettle 中文名称叫水壶,该项目的主程序员MATT 希望 ...
- Flyway 简单入门教程
原文地址:Flyway 简单入门教程 博客地址:http://www.extlight.com 一.前言 Flyway 是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式.Flyway 可以 ...
- 程序员,一起玩转GitHub版本控制,超简单入门教程 干货2
本GitHub教程旨在能够帮助大家快速入门学习使用GitHub,进行版本控制.帮助大家摆脱命令行工具,简单快速的使用GitHub. 做全栈攻城狮-写代码也要读书,爱全栈,更爱生活. 更多原创教程请关注 ...
- GitHub这么火,程序员你不学学吗? 超简单入门教程 【转载】
本GitHub教程旨在能够帮助大家快速入门学习使用GitHub. 本文章由做全栈攻城狮-写代码也要读书,爱全栈,更爱生活.原创.如有转载,请注明出处. GitHub是什么? GitHub首先是个分布式 ...
- BAT脚本编写教程简单入门篇
BAT脚本编写教程简单入门篇 批处理文件最常用的几个命令: echo表示显示此命令后的字符 echo on 表示在此语句后所有运行的命令都显示命令行本身 echo off 表示在此语句后所有运行的命 ...
- lodop简单入门教程
lodop简单入门 1 安装(这个不介绍,下载安装即可) 声明只能装windows,linux不能装,所以linux 服务器要使用直接使用http://localhost:8000/CLodopfun ...
- NumPy简单入门教程
# NumPy简单入门教程 NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组.它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体 ...
随机推荐
- 认识与学习BASH(中)
1.在设置变量中:单引号与双引号的最大不同:双引号能保有变量的内容,单引号仅能是一般字符 2.反单引号(`)作用:在一串指令中,在‘之内的指令将会被先执行,其结果将作为外部的输入信息. locate指 ...
- java -d64
在 resin启动时指定java时加上了 -d64选项 JAVA="/xx/java -d64" 选择 "-server"选项必须使用-d64 http://b ...
- ElasticSearch 概述
简介 Elasticsearch是一个基于Lucene的开源搜索引擎.Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RES ...
- FreeMarker页面中获得contextPath
要在ftl页面中使用contextPath,需要在viewResolver中做如下配置(红色部分): <bean id="viewResolver" class=" ...
- ARM开发板挂载U盘
ARM开发板运行Linux系统后,插入U盘,通过串口打印系统识别到U盘如下: 系统识别U盘盘符为sda4 那么需要挂载后才能操作U盘:挂载命令 mount -t vfat /dev/sda4 /mnt ...
- linux下启动dbca或netmgr类的图形界面报错解决
linux下启动dbca或netmgr类的图形界面报错解决 Xlib: connection to ":0.0" refused by server Xlib: No pro ...
- TesCase-GUI(图形用户界面)测试
GUI测试是功能测试的一种表现形式.不仅要考虑GUI本身的测试,也要考虑GUI所表现的系统功能的测试. GUI应具有的要素 1.符合标准和规范 2.直观性 (1)用户界面是否洁净.不唐突.不拥挤? ...
- 图的最短路算法 Floyd
多源最短路径算法 时间复杂度O(N3) 简单修改可求有向图的传递闭包 #include<iostream> using namespace std; const int maxn=1024 ...
- Java基础——多线程
Java中多线程的应用是非常多的,我们在Java中又该如何去创建线程呢? http://www.jianshu.com/p/40d4c7aebd66 一.常用的有三种方法来创建多线程 新建一个类继承自 ...
- 华为OJ平台——字符串匹配
题目描述: 判断短字符串中的所有字符是否在长字符串中全部出现 输入: 输入两个字符串. 第一个为短字符,第二个为长字符 输出: true - 表示短字符串中所有字符均在长字符串中出现 false - ...