Kettle系列(一)下载安装与基础配置
- 说明
- 一、下载
- 二、目录结构
- 三、基础配置
- (1)环境变量
- (2)kettle配置
- 四、连接mysql8
- 五、连接其他数据库
- 六、总结
说明
更新时间:2023/08/13 17:47
本文记录了win10下的kettle的下载和配置,并进行了mysql8的数据库连接测试
本文仅为记录学习轨迹,如有侵权,联系删除
一、下载
官网地址:kettle官网,kettle的官网近期应该是调整过,进去之后发现没有kettle的下载地址,而是给了"The “/Data Integration” file could not be found or is not available. Please select another file."这样的提示语,截图如下
如果要找到最新的下载地址需要下载上面的"SourceForge Pentaho Summary.pdf"文件,里面有最新的地址
进入网站
下载后解压即可
备注:正常情况下直接下载即可,下面本人用了kettle9.0版本和kettle9.4两个版本进行测试
二、目录结构
解压后的目录结构如下
简单对目录结构的一些重点目录作一下说明
三、基础配置
(1)环境变量
kettle是用java开发的,熟悉java开发的一定知道需要先配置jdk的环境变量,这里也是,java的环境变量配置jdk8就可以了,需要自行配置,注意一点环境变量的名称为:JAVA_HOME
kettle的环境变量,这个不配也没有关系,不影响使用,不过这里建议配置一下,配置的路径data-integration路径即可(即可以看到Spoon.bat文件的路径),环境变量名称为KETTLE_HOME
(2)kettle配置
先看一下lib文件夹,这个是用来放置jar的地方,因为kettle是用的java开发的,所以一些jar的依赖都会放到这里面,后面我们有需要用到jar的地方也是放到这里,先找到“Spoon.bat”这个文件,我们需要改一下里面的一些内容
找到if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m"
这句话,在它后面加上"-Dfile.encoding=UTF-8"
,不然后面链接数据库资源库的时候,如果连接的信息一旦有中文字符,会导致下次进来连接按钮丢失
保存即可
四、连接mysql8
备注:下面的测试用了9.4和9.0两个版本,内容基本差不多,但是在配置mysql8连接的时候有些区别
这里需要重点记录一下mysql8的配置,先点击Spoon.bat启动kettle,界面如下
点击转换 --> 输入 --> 表输入,双击进行数据库连接配置
发现连接失败,显示没有org.gjt.mm.mysql.Driver,简单说就是没有mysql的驱动,我们的数据库是mysql8所以就需要下载mysql8的驱动jar包,放到kettle安装路径data-integration里面的lib文件夹里面就可以了
重启kettle重复上面的连接步骤,如果显示连接成功,那么祝贺你,到此为止配置过程结束;如果还是报错的话继续往下走
事实上经过本人的测试,如果用的kettle9.4的话,在lib里面加上对应的mysql8驱动后是可以正常连接,但是如果用的kettle9.0的话还是会报错的,如下图是加了mysql8驱动后的报错截图
显示还是说找不到org.gjt.mm.mysql.Driver这个类,这个好分析,我们解压一下mysql8的驱动包,发现里面根本就没有org.gjt.mm.mysql.Driver这个类
我们再下载一下mysql5的驱动,并且解压,发现里面就有org.gjt.mm.mysql.Driver这个类
这也就是说,如果用的是mysql5.7数据库的话,在lib文件夹里面放上对应的驱动包就可以正常连接了,但是mysql8驱动包就没有这个类了,这个跟mysql的版本结构有关,这个时候如果还是想用mysql8的话,也有办法,需要在lib里面再引入一个jar包(mm.mysql-2.0.7.jar),降一下版本,该jar可以进maven中央库下载
再重启kettle,进行数据库连接,发现上面的错误不见了,但是悲剧了,出现了另一个错误,如图
不要慌,还差最后一步,因为mysql8是需要配置时区的,而kettle9.0在进行连接的时候本人猜测是没有配置时区的,可能内部默认是用的mysql5.7,mysql5.7是不用配置时区的,那么好办,找到mysql的配置文件my.ini,加个默认时区给它即可
保存,重启mysql服务,注意cmd命令行窗口需要用管理员权限运行
再度重启kettle进行连接测试,发现终于连接成功了
以上就是kettle9.0连接mysql8的操作,如果是kettle9.4的话,直接放mysql8的jar包到lib文件夹就可以了,如果还是不行,下面有一种通用的连接方法,更简单
五、连接其他数据库
kettle支持连接很多常见的数据库,甚至国产的达梦数据库也是支持连接的;如果上面的mysql8没连接成功,可以用一下这种方法,首先还是把mysql8的驱动包放到lib文件夹下面,然后连接的时候连接类型不要选择mysql,而是选择“Generic database”,再正确填写jdbc的配置即可
自定义连接URL填写自己数据库的连接即可
jdbc:mysql://127.0.0.1:3306/test1?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
然后是自定义驱动类
com.mysql.cj.jdbc.Driver
最后填写账号密码即可,其他的数据库类型连接也是如此,就不一一例举了
六、总结
以上就是kettle的下载与配置的内容,其中重点记录了如何在kettle里面连接数据库,以mysql8为例进行了测试,测试的kettle版本有9.0和9.4,其中9.0的配置会比较繁琐一点,上文只是简单结束了一下kettle的配置,至于后面kettle的其他知识,包括怎么进行清洗,连接数据库资源库进行数据的入库操作等,以后有时间再更新