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

kettle教程(1) 简单入门、kettle简单插入与更新。打开kettle本文要点:Kettle的建立数据库连接、使用kettle进行简单的全量对比插入更新:kettle会自动对比用户设置的对比字段,若目标表不存在该字段,则新插入该条记录。若存在,则更新。 Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。Kettle中文名称叫水壶,该项目的主程序员MATT希望把各种数…

大家好,又见面了,我是你们的朋友全栈君。

本文要点: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,如图所示:

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

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

3、建立转换。

  在文件->新建装换。

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

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

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

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

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

  (1)新建表插入

  在左边的面板中选择“核心对象”,在核心对象里面选择“输入->表输入”,用鼠标拖动到右边面板。如图所示:kettle教程(1) 简单入门、kettle简单插入与更新。打开kettle

 

 

 

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

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

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

 

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

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

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

 

  编辑插入更新:

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

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

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

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

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

 

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

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

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

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

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

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

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

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

  最后点击运行即可。

 

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

附录:测试数据表

 

kettle教程(1) 简单入门、kettle简单插入与更新。打开kettlekettle教程(1) 简单入门、kettle简单插入与更新。打开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;

创建表语句

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142492.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java 特点_JAVA的几个重要特点[通俗易懂]

    java 特点_JAVA的几个重要特点[通俗易懂]展开全部一.简单性:Java是纯62616964757a686964616fe58685e5aeb931333433663063面向对象语言,语法简单明了,易于掌握。Java使用接口取代了多重继承,并且取消了指针,因为多重继承和指针会使程序变得复杂。Java还会自动地收集内存垃圾,使得内存管理变得更为简单。Java还提供了丰富的类库、API文档以及第三方开发包,还有大量Java的开源项目。二.面向…

    2022年7月7日
    17
  • 在毕设中学习03

    在毕设中学习035.24文献阅读记录脑电分为诱发性脑电和自发性脑电,诱发性脑电的诱发因素又分为外源性刺激(视觉听觉触觉)和内源性事件相关(计算、思考)keras库keras以TensorFlow/Theano作为后端封装,是一个专门用于深度学习的python模块。包含了全连接层,卷积层,池化层,循环层,嵌入层等等等,常见的深度学习模型。包含用于定义损失函数的Losses用于训练模型的Optimizers评估模型的Metrics定义激活函数的Activations防止过拟合的Regularizers等mn

    2022年8月11日
    6
  • navicat生产激活码失败【中文破解版】

    (navicat生产激活码失败)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年4月1日
    202
  • anaconda prompt系统找不到指定的路径_tensorflow怎么用

    anaconda prompt系统找不到指定的路径_tensorflow怎么用我们默认打开jupyternotebook一般是在C盘,那么久而久之你很多的代码都新建在C盘,以后想要清理的时候难免会比较困难,所以在这里推荐大家通过命令在D盘指定目录下打开jupyternotebook,那么你新建的所有文件都是在D盘的指定目录下啦!…

    2022年10月8日
    3
  • pycharm汉化包

    pycharm汉化包更新一个pycharm汉化包,下面给出具体炒作流程1.解压压缩包,里面一共有两个东西第一个文件夹是汉化的所有文件,(简单的说就是第二个文件解压后的文件,不过第二个文件本身并不是压缩包,只是可以用解压的方式打开而已)2.解压以后,将resources_cn复制,粘贴到pycharm的lib目录下,具体目录如下图3.将resources_cn粘贴到这个目录下…

    2022年5月9日
    54
  • bm3d对比NL-Means去噪算法分析

    bm3d对比NL-Means去噪算法分析这篇文章写的特别好,就记录一下。转载地址:http://wenhuix.github.io/research/denoise.html噪声模型 图像中噪声的来源有许多种,这些噪声来源于图像采集、传输、压缩等各个方面。噪声的种类也各不相同,比如椒盐噪声,高斯噪声等,针对不同的噪声有不同的处理算法。对于输入的带有噪声的图像v(x),其加性噪声可以用一

    2022年5月7日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号