kettle 教程(一):简介及入门「建议收藏」

kettle 教程(一):简介及入门「建议收藏」kettle是纯java开发,开源的ETL工具,用于数据库间的数据迁移。可以在Linux、windows、unix中运行。有图形界面,也有命令脚本还可以二次开发。kettle的官网是https://community.hitachivantara….

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

介绍

kettle 是纯 java 开发,开源的 ETL工具,用于数据库间的数据迁移 。可以在 Linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。

kettle 的官网是 https://community.hitachivantara.com/docs/DOC-1009855,github 地址是 https://github.com/pentaho/pentaho-kettle

安装

这边以 windows 下的配置为例,linux 下配置类似。

jdk 安装及配置环境变量

由于 kettle 是基于 java 的,因此需要安装 java 环境,并配置 JAVA_HOME 环境变量。

建议安装 JDK1.8 及以上,7.0以后版本的 kettle 不支持低版本 JDK。

下载 kettle

官网 下载 kettle ,解压到本地即可。

下载相应的数据库驱动

由于 kettle 需要连接数据库,因此需要下载对应的数据库驱动。

例如 MySQL 数据库需要下载 mysql-connector-java.jar,oracle 数据库需要下载 ojdbc.jar。下载完成后,将 jar 放入 kettle 解压后路径的 lib 文件夹中即可。

注意:本文基于 pdi-ce-7.0.0.0-25 版本进行介绍,低版本可能有区别。

启动

双击 Spoon.bat 就能启动 kettle 。

转换

转换包括一个或多个步骤,步骤之间通过跳(hop)来连接。跳定义了一个单向通道,允许数据从一个步骤流向另一个步骤。在Kettle中,数据的单位是行,数据流就是数据行从一个步骤到另一个步骤的移动。

  1. 打开 kettle,点击 文件->新建->转换。

    kettle 教程(一):简介及入门「建议收藏」

  2. 在左边 DB 连接处点击新建。

    kettle 教程(一):简介及入门「建议收藏」

  3. 根据提示配置数据库,配置完成后可以点击测试进行验证,这边以 MySQL 为例。

    kettle 教程(一):简介及入门「建议收藏」

  4. 在左侧找到表输入(核心对象->输入->表输入),拖到右方。

    kettle 教程(一):简介及入门「建议收藏」

  5. 双击右侧表输入,进行配置,选择数据源,并输入 SQL。可以点击预览进行预览数据。

    1535002043389

    kettle 教程(一):简介及入门「建议收藏」

  6. 在左侧找到插入/更新(核心对象->输出->插入/更新),拖到右方。

    kettle 教程(一):简介及入门「建议收藏」

  7. 按住 Shift 键,把表输入和插入/更新用线连接起来。

    kettle 教程(一):简介及入门「建议收藏」

  8. 双击插入/更新进行配置。

    kettle 教程(一):简介及入门「建议收藏」

  9. 点击运行,就可以运行这一个转换。

    kettle 教程(一):简介及入门「建议收藏」

  10. 运行结束后,我们可以在下方看到运行结果,其中有日志,数据预览等,我们可以看到一共读取了多少条数据,插入更新了多少数据等等。

    kettle 教程(一):简介及入门「建议收藏」

这样就完成了一个最简单的转换,从一个表取数据,插入更新到另一个表。

作业

如果想要定时运行这个转换,那么就要用到作业。

  1. 新建一个作业。

    kettle 教程(一):简介及入门「建议收藏」

  2. 从左侧依次拖动 START 、转换、成功到右侧,并用线连接起来。

    kettle 教程(一):简介及入门「建议收藏」

  3. 双击 START,可以配置作业的运行间隔,这边配置了每小时运行一次。

    kettle 教程(一):简介及入门「建议收藏」

  4. 双击转换,选择之前新建的那个转换。

    kettle 教程(一):简介及入门「建议收藏」

  5. 点击运行,就能运行这次作业,点击停止就能停止。在下方执行结果,可以看到运行的日志。

    kettle 教程(一):简介及入门「建议收藏」

这样就完成了一个最简单的作业,每隔1小时,将源表的数据迁移到目标表。

总结

kettle 是一个非常强大的 ETL 工具,通过图形化界面的配置,可以实现数据迁移,并不用开发代码。

通过它的作业,kettle 能自动地运行转换。

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

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

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


相关推荐

  • vue前端怎么导出图片_VUE中将页面导出为图片或者PDF

    vue前端怎么导出图片_VUE中将页面导出为图片或者PDF导出为图片1.将页面html转换成图片npminstallhtml2canvas–save2.在需要导出的页面引入importhtml2canvasfrom’html2canvas’;3.在methods中添加方法dataURLToBlob(dataurl){//ie图片转格式vararr=dataurl.split(‘,’),mime=arr[0].m…

    2022年5月25日
    33
  • wireshark抓取dns数据包_2021年dns

    wireshark抓取dns数据包_2021年dns实验步骤一根据实验环境,本实验的步骤如下:1、测试环境中获取DNS数据包。2、分析DNS数据包。任务描述:获取两种类型的DNS数据包(1)通过浏览器访问域名(www.baidu.com)来获取DNS数据虽然合天实验室环境下,无法抓取此部分数据包(其实也可以自己搭建服务器,配置DNS服务器,但设计者比较懒,就将就下吧),但设计者希望学习的人能根据例子在自己的笔记本上抓取,然后分析。我们以登录www.baidu.com来获取DNS数据,启动Wireshark,在Filter中输入dns。打开浏览器

    2025年5月27日
    0
  • sql语句查询中双引号怎么办_sql引号中加单引号

    sql语句查询中双引号怎么办_sql引号中加单引号

    以及SQL语句中日期格式的表示(#)、(”)
    在Delphi中进行字符变量连接相加时单引号用(”’),又引号用(””)表示
    首先定义变量
    var
    AnInt:integer=123;//为了方便在此都给它们赋初值。虽然可能在引赋初值在某
     
    些情况下不对
    AnIntStr:string=’456′;
    AStr:string=’abc’;
    AFieldName:string=’字符型编号

    2022年10月10日
    0
  • 高光谱图像分类综述_高光谱图像样本进行扩增

    高光谱图像分类综述_高光谱图像样本进行扩增PCA-PrincipleComponentAnalysis主成分分析ICA-IndependentComponentAnalysis独立成分分析NWFE-Nonparametric

    2022年8月5日
    3
  • Java集合篇:HashMap原理详解(JDK1.7及之前的版本)

    Java集合篇:HashMap原理详解(JDK1.7及之前的版本)

    2021年10月4日
    30
  • 分布式文件存储系统的优点和缺点

    分布式文件存储系统的优点和缺点分布式文件存储系统分布式:在hdfs中由多个服务器组成,每个服务器扮演着不同的角色HDFS适用于一次写入多次读出,不支持文件修改优点1高容错性一台宕机没有什么问题,不会造成一个数据整体丢失。丢失的部分数据丢失会很快从其他节点拉取并回复。2合存储大数据量的文件数量级GBTBPB都支持件规模适合存储百万规模的数据3硬件价格低廉可以使用廉价的物理机缺点1不适合存储小文件这个面试也可能会被问到,请重点理解造成namenode的元数据储存信息比较多文件过多会导致寻址时间较长,组

    2022年6月8日
    127

发表回复

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

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