如何彻底解决Kettle无法连接MySQL8的缺陷?

僤鯓⒐⒋嵵緔 提交于 2020-08-15 11:09:06

如何彻底解决Kettle无法连接MySQL8的缺陷?

一、背景

在使用Kettle对数据进行处理时,最常见的操作莫过于关系数据库的使用,然而使用最新版本Kettle8常面临以下几个痛点:

  1. 不支持MySQL8。 MySQL是当前最流行的开源关系数据库,用户基数仅次于Oracle。由于具有更好的性能,目前很多系统都已经用上了最新版本MySQL8。比较遗憾的是Kettle并不支持该版本数据库的连接。

  2. 无法在同一转换/作业中同时使用相同数据库的不同版本驱动。因为Kettle将所有数据库驱动统一放在lib目录中,并由同一个类加载器进行加载,如果存在多个版本的驱动则极有可能导致包冲突问题。假如一个转换需要同时连接MySQL5与MySQL8,Kettle无法实现。

  3. 缺少统一和有效的数据库插件获取渠道。在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论坛向中国通服工业互联网(大数据)研究院反馈与交流。相关人员将第一时间答复并解决大家的问题。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!