Kettle系列(一)下载安装与基础配置
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的其他知识,包括怎么进行清洗,连接数据库资源库进行数据的入库操作等,以后有时间再更新
相关文章:
Kettle系列(一)下载安装与基础配置
Kettle系列(一)下载安装与基础配置 说明一、下载二、目录结构三、基础配置(1)环境变量(2)kettle配置 四、连接mysql8五、连接其他数据库六、总结 说明 更新时间:2023/08/13 17:47 本文记录了wi…...
MuMu模拟器运行一段时间后Device.Present耗时突然上升
1)MuMu模拟器运行一段时间后Device.Present耗时突然上升 2)如何在运行过程中获得温度信息 3)Input System鼠标更换主按键的Bug 4)如何禁止Unity向https://config.uca.cloud.unity3d.com发送设备信息 这是第347篇UWA技术知识分享…...
14-矩阵相乘及其运算法则
矩阵与向量的乘法 在这一篇文章中我们就将基于上一篇重新审视矩阵的这个视点来理解矩阵的乘法,那么在这一篇,我们主要来看一下矩阵和向量的乘法。这里这个线性方程组是上一小节给大家举的模拟的一个非常简单的小型经济系统的例子,我们可以把…...
redis学习笔记(八)
文章目录 redis的配置redis的核心配置选项Redis的使用 redis的配置 cat /etc/redis/redis.confredis 安装成功以后,window下的配置文件保存在软件 安装目录下,如果是mac或者linux,则默认安装/etc/redis/redis.conf redis的核心配置选项 绑定ip:访问白名单&#x…...
Wlan——无线服务集和AP的基本概念以及AP的配置
目录 WLAN服务集的基本概念 AP的基本概念 AP的分类 AP模式的切换 胖(FAT)AP介绍 胖AP的工作模式 接入模式和路由模式的区别 胖AP的组网方式 瘦(FIT)AP介绍 瘦AP的工作模式 瘦AP的组网方式 胖AP和瘦AP的区别 AP的配置…...
【必看】时序逻辑仿真成组合逻辑?你知道原因吗?
对于初学者,一般会遇到这种情况,明明写的时序逻辑,结果仿真结果却是组合逻辑,然后看遍设计代码,始终找不到原因,交流群、知乎这种问题随处可见。但不要怀疑软件问题,modelsim这些专用软件基本不…...
PyTorch翻译官网教程-LANGUAGE MODELING WITH NN.TRANSFORMER AND TORCHTEXT
官网链接 Language Modeling with nn.Transformer and torchtext — PyTorch Tutorials 2.0.1cu117 documentation 使用 NN.TRANSFORMER 和 TORCHTEXT进行语言建模 这是一个关于训练模型使用nn.Transformer来预测序列中的下一个单词的教程。 PyTorch 1.2版本包含了一个基于论…...
SpringBoot复习:(43)如何以war包的形式运行SpringBoot程序
一、.pom.xml配置packging为war <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven…...
Dubbo高手之路2,6种扩展机制详解
目录 一、Dubbo扩展机制的概述二、Dubbo的自适应扩展机制1. 什么是自适应扩展机制2. 自适应扩展机制的使用示例 三、Dubbo的SPI扩展机制1. 什么是SPI扩展机制2. SPI扩展机制的使用示例3. Dubbo的SPI扩展机制中自定义扩展点的实现示例 四、Dubbo的自定义扩展点机制1. 什么是自定…...
C语言快速回顾(二)
前言 在Android音视频开发中,网上知识点过于零碎,自学起来难度非常大,不过音视频大牛Jhuster提出了《Android 音视频从入门到提高 - 任务列表》,结合我自己的工作学习经历,我准备写一个音视频系列blog。C/C是音视频必…...
ADB连接安卓手机提示unauthorized
近期使用airtest进行自动化测试时,因为需要连接手机和电脑端,所以在使用adb去连接本人的安卓手机vivo z5时,发现一直提示unauthorized。后来经过一系列方法尝试,最终得以解决。 问题描述: 用数据线将手机接入电脑端&…...
【软件工程】内聚
概念 是指一个模块内部个成分之间相互关联程度的度量。也就是说,凝聚是对模块内各处理动作组合强度的一种度量。很显然,一个模块的内聚越大越好。 偶然凝聚 一个模块内的各处理元素之间没有任何联系,只是偶然地被凑到一起。这种模块也称为…...
支持对接鸿蒙系统的无线模块及其常见应用介绍
近距离的无线通信得益于万物互联网的快速发展,基于集成部近距离无线连接,为固定和移动设备建立通信的蓝牙技术也已经广泛应用于汽车领域、工业生产及医疗领域。为协助物联网企业终端产品能快速接入鸿蒙生态系统,SKYLAB联手国产芯片厂家研发推…...
java项目打包运行报异常:Demo-1.0-SNAPSHOT.jar中没有主清单属性
检查后发现pom文件中有错误,需要添加build内容才能恢复正常。 添加下面文件后再次启动恢复正常。 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactI…...
nginx+keepalived实现负载均衡和高可用
环境准备 IPVIP环境客户端192.168.134.174Master192.168.134.170192.168.134.100需要配置nginx负载均衡Backup192.168.134.172192.168.134.100需要配置nginx负载均衡web1服务器192.168.134.171 web2服务器 192.168.134.173 1、首先安装nginx服务器(此处采用yum安装…...
微信小程序实现图片多点裁剪
话不多说,直接上代码 1、页面布局 <view class"buttons" style"height: 50px;"><view class"upload btn" style"background-color: #d18118;"bindtap"uploadImage"> 上传图片 </view><vie…...
计算图片的均值和方差用图片的归一化取值
计算图片的均值和方差用图片的归一化取值 注意:使用这种方法的前提是进行了数据批量化操作,需要使用神经网络库,torch,DataLoader def getStat(data):print(len(data))loader torch.utils.data.DataLoader(data, batch_size1, …...
预测算法|改进粒子群算法优化极限学习机IDM-PSO-ELM
回归拟合: 分类 本文是作者的预测算法系列的第四篇,前面的文章中介绍了BP、SVM、RF及其优化,感兴趣的读者可以在作者往期文章中了解,这一篇将介绍——极限学习机 过去的几十年里基于梯度的学习方法被广泛用于训练神经网络&am…...
小黑子—JavaWeb:第六章 - Filter、Listener、AJAX与JSON
JavaWeb入门6.0 1. Filter1.1 Filter快速入门1.2 Filter执行流程1.3 Filter拦截路径配置1.4 Filter过滤器链1.5 案例登录验证 2. Listener2.1 ServletContextListener使用 3. AJAX3.1 AJAX 快速入门3.2 案例 验证用户名是否存在3.3 Axios 异步框架3.3.1 Axios 快速入门3.3.2 Ax…...
STM32 LL库开发
一、STM32开发方式 标准库开发:Standard Peripheral Libraries,STDHAL库开发:Hardware Abstraction Layer,硬件抽象层LL库开发:Low-layer,底层库 二、HAL库与LL库开发对比 ST在推行HAL库的时候,…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...
CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...
Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...
