Kettle工具使用及总结

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: kettle主要用于数据清洗,即常见ETL工具,拥有图形化界面且免费的优点。

Kettle工具使用及总结


一、kettle安装及报错:

kettle主要用于数据清洗,即常见ETL工具,拥有图形化界面且免费的优点。其下载包直接解压打开就能用,遇到的问题:


1.连接MySQL报错:

image.png


①报错:


Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.
org.gjt.mm.mysql.Driver


原因:没有识别到连接数据库的驱动jar包


解决方法:


将驱动jar包复制粘贴到data-integration\lib文件下(data-integration为kettle安装目录);重启spoon。


操作完成之后反复尝试还是报相同的错,识别不到,则说明你的kettle版本与你的驱动版本不容,无法识别。(例如我的kettle7.0无法识别mysql-connector-java-8.0.19.jar)。那么只有换版本或者换连接的数据库(这里我放弃连接MySQL,转为连接sqlserver)


②报错:


Error connecting to database: (using class org.gjt.mm.mysql.Driver)
Unknown initial character set index '255' received from server. Initial client character set can be forced via the 'characterEncoding' property.

原因:你导入的jar包被kettle识别,但是它与你本地MySQL版本不容


解决方法:换连接驱动的jar包(因为驱动版本是跟数据库版本一致的,间接说明你的kettle与MySQL版本不容)


连接SQL server:

image.png

连接成功:

image.png

操作:(本案例演示csv文件拆分字段转存sqlserver数据库)


二、kettle实例

(1)建立作业,连接数据库

887de2596e26f65d55d59fcc113710dc_20210503001311238.png

(2)执行sql脚本(对数据库表初始化操作)


下面的sql脚本在sqlserver运行不出错,但在kettle就会报错(不知道为什么,所以现在我sql脚本没有写,不过想想确实还不如直接去数据库客户端里建表方便)

IF NOT EXISTS (select * from dbo.sysobjects where xtype='U' and Name = 'kettle_test')
BEGIN
CREATE TABLE kettle_test
(
kind varchar(255),
time varchar(255),
processingDepartment varchar(255),
content varchar(255)
);


END

7adb46de47ecc95c4c22a9760eaf88b1_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2ODE2ODQ4,size_16,color_FFFFFF,t_70.png


执行结果出错(如下图),后来我把sql语句删了,动手在数据库里建的表。

a302d044c32cd67b01f337d88bcc4853_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2ODE2ODQ4,size_16,color_FFFFFF,t_70.png



(3)在转换1中新建一个转换;完成输入csv文件,字段切分,输出到表的操作

3008294666a0f53f86430b00410bf444_20210503001054859.png


(这里,观察左菜单栏就会发现它的数据清洗功能)

3430f7e9e716818b635e09d2df73ea8a_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2ODE2ODQ4,size_16,color_FFFFFF,t_70.png



①给转换建立数据库连接;


2e8261b5a94ddc63b8b219ebdcfc745e_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2ODE2ODQ4,size_16,color_FFFFFF,t_70.png


②进行csv文件输入:


c8e44e836688d82fec4d223a4159bd00_20210503001054845.png


CSV输入设置

ef15a22b30b4aec2c48931570fb3fc84_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2ODE2ODQ4,size_16,color_FFFFFF,t_70.png


拆分字段:

9d3ae9e9a9416d42f9387017ad881da8_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2ODE2ODQ4,size_16,color_FFFFFF,t_70.png



Excel输入设置

从输入组件中拖入EXCEL输入,点击设置:


(1)在弹出框中选择“表格类型”为“Excel 2007 XLSX (Apache POI)”;


(2)点击“文件或目录“后的“浏览”选择需要导入的Excel表格,点击“增加”添加至选中文件列表中;

3af547cece70e3d823b84b18e4efd725_70.png



(3)单击“工作表”,在工作表页面选择“获取工作表名称”,选择相应的“可用项目”添加至“你的选择”中;

9033da5708fee076f02a9748e3762075_70.png



(4)单击“字段”,在字段页面点击“获取来自头部数据的字段”,(所以Excel表格最好带有列字段列名),并可以对获取的数据字段类型进行调整,可以点击“预览记录”查看数据;


4be417182ed12722f9c87d8fc58a1b0f_70.png



表输出设置

展开"输入"列表将"表输出"模块拖入右侧空白区域;

57147aee6010afd4c6e80f0b5225b961_70.png

64fe4dc5fe5cd0c8fbe131dc121e7ab9_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2ODE2ODQ4,size_16,color_FFFFFF,t_70.png



⑤点击文件,保存


⑥返回作业,为转换1设置:

352405a3cd2fbc107e367d5101dd2154_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2ODE2ODQ4,size_16,color_FFFFFF,t_70.png



(4)保存,执行

1de3dc483750c4ead22d9c384ec1514e_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2ODE2ODQ4,size_16,color_FFFFFF,t_70.png


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
6月前
|
机器学习/深度学习 人工智能 Cloud Native
Anaconda3 2025 深度解析:Python 3.11 + 提速、大模型支持,安装步骤+安装包
Anaconda3 2025 是面向数据科学与AI开发的一站式平台,集成Python环境、包管理与开发工具,支持机器学习、大模型开发及云原生部署,开箱即用,助力高效开发。
2079 2
|
SQL XML JSON
大数据ETL开发之图解Kettle工具(入门到精通)
ETL (Extract-Transform-Load 的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种ETL工具的使用,必不可少。
8406 0
大数据ETL开发之图解Kettle工具(入门到精通)
|
Java
ETL工具 Kettle 中 kettle循环传递变量_(最简单的方法)
本文详细介绍了如何在Kettle工具中使用循环传递变量,通过示例展示了如何将movies表数据按月插入到ods_movies表,涉及新建转换、获取变量、作业配置和执行,呈现了一个嵌套作业结构.
2897 3
|
Java 数据库
【YashanDB知识库】kettle同步大表提示java内存溢出
在数据导入导出场景中,使用Kettle进行大表数据同步时出现“ERROR:could not create the java virtual machine!”问题,原因为Java内存溢出。解决方法包括:1) 编辑Spoon.bat增大JVM堆内存至2GB;2) 优化Kettle转换流程,如调整批量大小、精简步骤;3) 合理设置并行线程数(PARALLELISM参数)。此问题影响所有版本,需根据实际需求调整相关参数以避免内存不足。
|
监控 大数据 API
可以调度kettle的工具有哪些?都有什么特点?如何选择?
【10月更文挑战第25天】可以调度kettle的工具有哪些?都有什么特点?如何选择?
1222 5
|
SQL 前端开发 JavaScript
kettle开发-超好用自定义数据处理组件
kettle开发-超好用自定义数据处理组件
1385 0
|
数据采集 分布式计算 Java
Kettle的Java开发环境需要什么jar包?
【10月更文挑战第24天】Kettle的Java开发环境需要什么jar包?
547 2
|
存储 前端开发 Java
springboot整合最新版minio和minio的安装(完整教程,新人必看)
本文详细介绍了如何使用Docker安装配置最新版的MinIO,并展示了如何在Spring Boot应用中整合MinIO以及如何通过前端进行文件上传测试。
1931 3
springboot整合最新版minio和minio的安装(完整教程,新人必看)
|
SQL 分布式计算 关系型数据库
Sqoop入门(一篇就够了)
Sqoop入门(一篇就够了)
8986 3
Sqoop入门(一篇就够了)

热门文章

最新文章