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 能自动地运行转换。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 时间复杂度和空间复杂度 如何计算出来_代码时间复杂度和空间复杂度

    时间复杂度和空间复杂度 如何计算出来_代码时间复杂度和空间复杂度时间复杂度和空间复杂度如何计算?推导算法:大O推导法时间复杂度定义常数阶线性阶对数阶平方阶小结空间复杂度定义推导算法:大O推导法1、用常数1取代运行时间中的所有加法常数2、在修改后的运行次数函数中,只保留最高阶项3、如果最高阶项存在且不是1,那么我们就去除于这个项相乘的常数。时间复杂度定义在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变…

    2022年10月28日
  • 2022最新Java面试宝典(史上最全,BAT大厂面试必备,用心看完该篇就够了,建议先关注点赞加收藏)

    2022最新Java面试宝典(史上最全,BAT大厂面试必备,用心看完该篇就够了,建议先关注点赞加收藏)史上最全Java面试宝典,BAT大厂必备,建议先点赞收藏,内容持续更新中。。。。序号名称地址1Java基础面试题2Java并发编程面试题3Java异常面试题4Java虚拟机(JVM)面试题5Java集合面试题6Linux面试题7Memcache面试题8Mybatiss面试题9MySQL面试题10Netty面试题11Nginx面试题12RabbitMQ面试题13Re

  • jmeter模拟用户登录并发_jmeter模拟用户登录并发

    jmeter模拟用户登录并发_jmeter模拟用户登录并发第一种方案直接从数据库中获取账号和密码1、设置线程数为20,我们的并发用户量就是20个用户同时登录2、添加定时器3、设置集合点,当用户数量达到20个的时候再同时请求进行登录操作4、添加配置元件:JDBCConnectionConfiguration5、添加JDBCrequest请求(从数据库获取登录账号和密码)7、添加http登录请求8、查看结果第二种方案对登录账号和密码进行参数化1、添加…

  • Unity3D ML-Agent-0.8.1 学习四(模仿学习)

    Unity3D ML-Agent-0.8.1 学习四(模仿学习)Unity3DMl-Agent-0.8.1学习四(模仿学习)写的目的场景设置修改配置并训练总结写的目的本篇介绍模仿学习,即玩家边玩,代理边学习,主要分为在线学习和离线学习,在线就是跟着师傅一起学,离线就是看是师傅录制的资料学习,我们主要讲在线学习,就是玩家边玩,AI边学习,可以实时观察学习的效果,离线学习只是记录玩家信息,产生生成一个文件,命令行学习文件即可,不多做介绍。场景设置可以…

  • pygame安装报错

    pygame安装报错pygame安装报错:ERROR:CouldnotinstallpackagesduetoanEnvironmentError:[Errno2]Nosuchfileordirectory:’D:\\PycharmProjects\\Game\\pygame-1.9.4-cp37-cp37m-win_amd64.whl’错误截图:原因:本地未下载需要的pygame安装包解决方案:在官网下载需要的库,然后放入所在目录,在执行上述安装命令。官网下载地址

  • 谈谈几个 Spring Cloud 常见面试题及答案

    来自:Wbw Belief 链接:blog.csdn.net/qq_41497111/article/details/92067565 全文目录 什么是微服务? 微服务之间如何独立…

发表回复

您的电子邮箱地址不会被公开。

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