zoukankan      html  css  js  c++  java
  • 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;
    复制代码
  • 相关阅读:
    thinkphp5 数据库和模型
    DAO设计模式
    JSP内置对象
    JSP基础
    Head First Servlet and JSP
    Maven项目中,系统设置的CLASSPATH环境变量问题
    HTML简介
    (三)Maven使用入门之Hello World
    (一)JUnit简介
    (二)Web应用体系结构
  • 原文地址:https://www.cnblogs.com/zxbzl/p/5853035.html
Copyright © 2011-2022 走看看