如何彻底解决Kettle无法连接MySQL8的缺陷?
如何彻底解决Kettle无法连接MySQL8的缺陷?
一、背景
在使用Kettle对数据进行处理时,最常见的操作莫过于关系数据库的使用,然而使用最新版本Kettle8常面临以下几个痛点:
不支持MySQL8。 MySQL是当前最流行的开源关系数据库,用户基数仅次于Oracle。由于具有更好的性能,目前很多系统都已经用上了最新版本MySQL8。比较遗憾的是Kettle并不支持该版本数据库的连接。
无法在同一转换/作业中同时使用相同数据库的不同版本驱动。因为Kettle将所有数据库驱动统一放在lib目录中,并由同一个类加载器进行加载,如果存在多个版本的驱动则极有可能导致包冲突问题。假如一个转换需要同时连接MySQL5与MySQL8,Kettle无法实现。
- 缺少统一和有效的数据库插件获取渠道。在Kettle使用者需要一些新的数据库插件时往往不知所措,求助于目前各大社区(甚至是pentaho官方论坛)也无法得到及时有效的帮助。
我们可以使用同样免费的CKettle来彻底解决这些问题。CKettle创新性的将数据库连接插件全都从core中提取出来,成为**的可热插拔插件,并能实现多版本数据库连接并存。同时每个上架插件都包含了经过测试验证的默认连接驱动,免去自行查找的烦恼。
下文将详细介绍如何使用数据库连接插件功能,并举例验证。
二、精简版客户端插件下载安装
1. 从门户站点下载最新CKettle客户端
2. 启动下载的客户端新建转换并创建DB连接
(注:若启动精简版CKettle客户端默认已经打开了之前的转换,会提示插件(转换或者数据库插件)丢失(如下图所示),可暂时忽略错误,待安装完插件即可正常)
3. 点击云端下载功能,浏览你需要安装的数据库插件
(注:目前已上线的插件包含主流的数据库,都已经过测试验证,兼容多数常用数据库。若此列表没有需要的数据库插件,请到论坛(https://ckbbs.ccsaii.com.cn)提出需求)
4. 点击安装,安装完成后将提示成功,同时列表中出现新的连接方式
5. 使用新下载的插件建立数据库连接
6. 在转换中使用该连接完成转换设计
(注:精简版需要下载插件,插件安装请参考门户教程)
三、扩展
1. 使用自定义驱动
有时候来自CKettle提供的数据库默认连接驱动并不一定能满足所有版本的数据库连接,当前转换使用的数据库版本使用内置驱动无法满足使用需要,这时可以打开数据库连接对话框,使用自定义驱动功能选择适合当前转换的驱动。
确认后再次打开该面板即可发现自定义驱动已应用,且驱动已经被放入CKettle程序的libdb目录,转换中也会保存该驱动的信息以便下次使用。
2. 转换中同时使用MySQL5和MySQL8
这里以刚下载的CKettle精简版客户端为例
Step1:新建转换,打开下载数据库插件面板
Step2:下载MySQL5和MySQL8+插件
Step3:建立数据库连接信息并测试可以成功连接
Step4:安装用做演示的表输入(表输出)插件
Step5:拖入插件到画布设计转换
Step6:配置表输入使用刚才配置的MySQL5连接m5并查询出相应的字段,表输出使用MySQL8+配置的连接m8并指向对应的输出表(指定字段或者默认不勾选),运行转换数据处理成功。
至此:本demo成功使用MySQL5作为输入源,MySQL8作为输出源的数据处理转换演示。
四、小结:
本文简单介绍了CKettle精简版如何从云端下载数据库连接插件,若大家在使用过程中遇到任何疑问或者发现任何问题欢迎使用CKettle论坛向中国通服工业互联网(大数据)研究院反馈与交流。相关人员将第一时间答复并解决大家的问题。