kettle基础教程-kettle9教程「建议收藏」

kettle基础教程-kettle9教程「建议收藏」一.安装部署1.JDK1.8安装及环境变量的配置https://blog.csdn.net/weixin_39549656/article/details/795406442.kettle9安装与启动kettle下载目录:https://sourceforge.net/projects/pentaho/files/kettle9.2下载地址:https://sourceforge.net/projects/pentaho/files/Pentaho-9.2/client-tool

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

kettle是啥?

一款免费开源的、功能强大的ETL工具,纯 java 开发。可以在 Linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。

一.安装部署

1.JDK1.8安装及环境变量的配置

https://blog.csdn.net/weixin_39549656/article/details/79540644

2.kettle9安装与启动

kettle下载目录:

https://sourceforge.net/projects/pentaho/files/

kettle9.2下载地址:

https://sourceforge.net/projects/pentaho/files/Pentaho-9.2/client-tools/pdi-ce-9.2.0.0-290.zip/download

下载解压之后windows直接执行 Spoon.bat 即可启动(linux执行spoon.sh)。

3.创建资源库(repository)

点击右上connect图标

先选择 Other Repositories ,可以创建文件资源库或者数据库资源库:

Database Repository

Unsupported ETL storage that uses a database

File Repository

Unsupported ETL storage that uses your local file system

很简单根据提示,一步步创建就可以了,本教程只创建 File Repository 文件资源库。

二.简单ETL开发

kettle主要有2种格式开发文件,一个是作业(.kjb)、一个是转换(.ktr)。作业处理任务流,转换处理数据流。

1.转换开发(表对表同步数据)

1.1 创建转换

文件->新建->转换, 或者 CTRL-N。

kettle基础教程-kettle9教程「建议收藏」

1.2 新建表输入 

核心对象->输入->表输入  ,选中后拖到右边面板。

kettle基础教程-kettle9教程「建议收藏」

1.3 配置表输入,选择数据库(首次使用的库 要 新建连接)

kettle基础教程-kettle9教程「建议收藏」

 注:

mysql需要下载jdbc包(oracle自带驱动),放到kettle的lib/目录里,下载可参考以下连接:

https://www.runoob.com/java/java-mysql-connect.html

建议mysql 8以下用 mysql-connector-java-5.1.39-bin.jar

8以上用 mysql-connector-java-8.0.16.jar

1.4 表输入预览数据

点击 表输入 -> 预览 ,可以查看表输入的部分数据。

kettle基础教程-kettle9教程「建议收藏」

1.5 表输出

核心对象->输出->表输出  ,选中后拖到右边面板。

kettle基础教程-kettle9教程「建议收藏」

1.6 新建数据流连接

按住 Shift 键,把表输入和表输出用数据流线连接起来。

kettle基础教程-kettle9教程「建议收藏」

1.7 配置表输出,选择数据库(这里还用之前的库,创建一张结构相同的表)

kettle基础教程-kettle9教程「建议收藏」

1.8 预览或执行转换

kettle基础教程-kettle9教程「建议收藏」

 kettle基础教程-kettle9教程「建议收藏」

 kettle基础教程-kettle9教程「建议收藏」

kettle基础教程-kettle9教程「建议收藏」 kettle基础教程-kettle9教程「建议收藏」

2.作业开发(作业流程设计:先设置变量->执行同步的转换(sql引用变量)-> 结果再设置为变量->弹窗显示数据)

2.1 新建作业

文件->新建->作业, 或者 CTRL-ALt-N。

2.2 增加组件:

通用->start,设置变量、转换、成功。

应用->显示消息对话框

按住 Shift 键,用任务流箭头线连接组件。

kettle基础教程-kettle9教程「建议收藏」

 2.3 设置变量tid=1

kettle基础教程-kettle9教程「建议收藏」

2.4 引用刚才开发的转换test_xxx

kettle基础教程-kettle9教程「建议收藏」

2.5 修改转换test_xxx,sql里引用变量,并将查出来的结果设置为新的变量。

kettle基础教程-kettle9教程「建议收藏」

 kettle基础教程-kettle9教程「建议收藏」

  

2.6 设置消息对话框内容

kettle基础教程-kettle9教程「建议收藏」

2.7 执行作业

kettle基础教程-kettle9教程「建议收藏」

2.8 执行结果

kettle基础教程-kettle9教程「建议收藏」

三 总结:

1.转换(ktr)主要是做数据流,

数据的输入、输出、计算、转换等。

2.作业(kjb)主要是做任务流,

用来设计作业的流程,每个组件和步骤是可以有依赖关系的。可以在作业里串行或并行调用多个转换。

3.这个基础教程就先写这些,有机会再做个高级点的。

因为kettle里的 转换(ktr)、作业(kjb)组件众多,讲是肯定讲不过来的,大家还是自己多测试多研究,用多了就熟练了。

4.有个 Kettle中文网 挺不错的,里边有好多实用的例子,这里推一下:

https://www.kettle.net.cn/category/kettle

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

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

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


相关推荐

  • php源码 网页聊天_php即时在线网页聊天源码-响应式设计自适应手机端[通俗易懂]

    php源码 网页聊天_php即时在线网页聊天源码-响应式设计自适应手机端[通俗易懂]基于PHPWebSocket即时通讯开发的在线聊天源码,使用高效优雅的Laravel框架进行非通讯部分开发。前台与后台自适应PC与移动端,支持一对多交流,可以自由创建新的房间与解散创建的房间,集成签到功能,等级功能,房间创建者可以对用户进行禁言、拉黑处理,房间可以由房间创建者自由设置进入密码,房间内支持常规的文字消息、表情、支持自定义图片消息、图片可用本地或者图片外链。php环境配置需求P…

    2022年5月15日
    38
  • html 修改下划线粗细,TextView设置内容下划线加粗等html样式实例及注意事项

    html 修改下划线粗细,TextView设置内容下划线加粗等html样式实例及注意事项TextView设置内容下划线加粗等html样式实例及注意事项效果图test01.pngJava代码packagecom.myapplication;importandroid.app.Activity;importandroid.os.Build;importandroid.os.Bundle;importandroid.text.Html;importandroid.text.Sp…

    2022年5月22日
    106
  • Mac 破解zip压缩文件密码详解

    Mac 破解zip压缩文件密码详解使用fcrackzip来破解zip类型压缩文件fcrackzip是一款专门破解zip类型压缩文件密码的工具,工具破解速度还是可以的,能用字典和指定字符集破解,适用于Linux、MacOS系统。如果你的电脑没有安装brew,需要执行下面命令行/usr/bin/ruby-e"$(curl-fsSLhttps://raw.githubusercontent.com/Homebr…

    2022年5月1日
    462
  • 单片机原理及应用复习「建议收藏」

    单片机原理及应用复习「建议收藏」单片机总复习1.什么是单片机?特点?将通用微型计算机基本功能部件集成在一块芯片上构成的一种专用微计算机系统(嵌入式系统),用于解决小型被控对象的智能化问题(SCM或MCU)。特点:体积小(便于嵌入到小型被控对象中);扩展性好(便于组成各种应用系统);可靠性高(集成后外部连线减少,抗干扰能力增强);价格低廉(便于普及应用)2.单片机的发展趋势3.进制之间的转换搞明白点注意下有符号数还是…

    2022年9月6日
    6
  • 5G、切片、MEC[通俗易懂]

    5G、切片、MEC[通俗易懂]5G、切片、MEC

    2022年10月2日
    3
  • python中读写LMDB数据库[通俗易懂]

    python中读写LMDB数据库[通俗易懂]转自原文:https://blog.csdn.net/dcrmg/article/details/79144507LMDB的全称是LightningMemory-MappedDatabase(快如闪电的内存映射数据库),它的文件结构简单,包含一个数据文件和一个锁文件:LMDB文件可以同时由多个进程打开,具有极高的数据存取速度,访问简单,不需要运行单独的数据库管理进程,只要在访问数据的代码…

    2022年9月29日
    3

发表回复

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

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