Kettle
一、Windows安装使用
1、简介:Kettle是一个免费开源的基于java的企业级ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)工具,功能强大简单易用,支持图形化的GUI设计界面,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
2、相关参考链接
- github 地址是 https://github.com/pentaho/pentaho-kettle
- 官方文档:https://help.hitachivantara.com/Documentation/Pentaho/8.2/Whats_New
- kettle 的官网 https://community.hitachivantara.com/docs/DOC-1009855
- 国内 Kettle 论坛网:https://www.kettle.net.cn/
3、安装jdk
1)jdk-8u112-windows-x64.exe百度网盘下载地址:
https://pan.baidu.com/s/1cicxLfPLZMPJfofO6aGJmQ 提取码:9aoe
2)查看jdk安装版本
4、安装Kettle
1)达梦数据库驱动百度网盘下载地址:
https://pan.baidu.com/s/1TWOBvAOEU8kAvHhU5wEIbw 提取码:vehu
2)Mysql驱动下载地址:https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.29/
mysql-connector-java-8.0.29百度网盘链接:https://pan.baidu.com/s/1XpQH_e89e3wPP-4y-mTHdg
提取码:7as7
3) Kettle下载:
百度网盘链接链接:https://pan.baidu.com/s/1QZUSe8OkiskPp83Gh-TiQw
提取码:hpf6
4)将mysql、DM对应版本驱动复制到kettle中lib目录,将data-integration目录复制到jdk安装目录;(新建目录不要出现中文)
5、使用Kettle
-
保证安装kettle主机与数据源主机、数据目标主机网络策略正常访问;
-
启动Kettle(首次启动较慢)
-
mysqlDB连接配置信息:(测试成功保证网络及配置信息正确)
-
达梦数据库连接配置信息:(测试成功保证网络及配置信息正确)
-
转换(Transform)、作业(Job)
转换是ETL解决方案中重要的组成部分之一,主要用于数据的抽取、转换以及加载等操作,其本质是一组图形化的数据转换配置的逻辑结构。一个转换包括一个或多个步骤,如读取文件、过滤输出行、数据清洗或将数据加载到数据库中等步骤。转换中的步骤是通过跳连接的,跳定义了一个单向通道,允许数据从一个步骤向另一个步骤流动,在Kettle中,数据的单位是行,数据流就是数据行从一个步骤到另一个步骤地移动;
作业更加关心更为宏观的数据处理,比如文件和目录操作等等。一个作业包含一个或者多个作业项,并且这些作业项都是以某种顺序进行执行的。作业执行的顺序由作业项之间的跳和每个作业项的执行结果决定。对于一个作业项来说,只有当该作业项之前的所有作业项执行完毕后,才会执行该作业项。 -
在使用转换或作业操作达梦数据库时,在映射数据库字段名时大小写需要与达梦数据库远程一致;(若在源达梦数据库能正常操作该字段名,Kettle工具执行报错该列不存在,则很可能是映射大小写不对)
注意:
1.Spoon应用服务不能停止,停止后转换、作业不再工作;
2.该Windows服务器不能关停,关停后转换、作业不再工作;
3.若需定时执行Spoon,可在windows下建立执行任务(打开控制面板--管理工具--任务计划程序-创建任务);
二、Linux(x86和x86_64)无界面运行Kettle
1、安装jdk
1)查看是否安装jdk
2)未安装jdk则下载安装jdk,并配置环境变量
jdk-8u171-linux-x64.rpm下载链接:
https://pan.baidu.com/s/1bqFCa_65EeTznGa8OD4Ijw
提取码:ytp8
2、安装Kettle
1)达梦数据库驱动百度网盘下载地址:
https://pan.baidu.com/s/1TWOBvAOEU8kAvHhU5wEIbw 提取码:vehu
2)Mysql驱动下载地址:https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.29/
mysql-connector-java-8.0.29百度网盘链接:https://pan.baidu.com/s/1XpQH_e89e3wPP-4y-mTHdg
提取码:7as7
3) Kettle下载:
百度网盘链接链接:https://pan.baidu.com/s/1QZUSe8OkiskPp83Gh-TiQw
提取码:hpf6
4)将mysql、DM对应版本驱动复制到kettle中lib目录,将data-integration目录复制到jdk安装目录;(新建目录不要出现中文)
3、执行转换、作业
在data-integration目录下执行转换、定时任务作业即可。
如下:
./pan.sh -file=/indata/disk_0/data-integration/kettle_file/test1.ktr >> /indata/disk_0/data-integration/logs/scheduled.log
注意:
1.在Windows环境下将测试好的kettle作业文件准备好;
2.data-integration目录下有 pan.sh 和 kitchen.sh 脚本,pan.sh是执行.ktr,kitchen.sh是 执行.kjb;
3.若需定时执行需将以上命令写成脚本,使用crontab定时执行即可;
4.如果是arm架构的,由于kettle在设计时未考虑到arm架构,此时需要做两点:
1).下载相应架构的swt.jar,x86和x86_64不需要另外弄,arm的需要,将其放在“kettle安装目录/libswt/linux/[新建一个目录如aarch64]/”中;
2)修改kettle的启动文件“kettle安装目录/spoon.sh”,找到"linux)",并添加
Linux)
aarch64
LIBPATH=$CURRENTDIR/../libswt/linux/x86/
;;