什么是Kettle?
Kettle最早是一个开源的ETL(Extract-Transform-Load的缩写)工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。是一个功能丰富的ETL工具,它允许用户轻松地进行数据抽取、转换和加载。后来Kettle重命名为Pentaho Data Integration 。它由Java开发,支持跨平台运行,Kettle是一个实现ETL开发的一款开发工具,Spoon是Kettle工具提供的图形化界面。
Kettle的核心特性
Kettle提供了一系列的特性,使其成为ETL领域的佼佼者:
- 直观的图形用户界面:通过拖放组件来构建数据转换流程。
- 丰富的插件库:支持各种数据源和目标系统。
- 强大的数据转换能力:提供多种数据清洗和转换操作。
- 可扩展性:支持自定义脚本和插件开发。
- 高性能:优化的数据处理引擎,支持大规模数据集。
安装JDK
因为Kettle工具是用java语言开发的,要想运行起来就必须安装jdk。
安装
百度云盘下载链接 提取码: qjyd
jdk-8u221-64bit.exe
安装过程
安装kettle
解压kettle
百度云盘下载链接 提取码: akgv
kettle 需要解压到一个非中文路径下。
因为kettle改名字了,叫做pdi
更改一下图标,更好看。
修改字符集
在安装目录下找到spoon.bat 文件
添加 如果打开软件重新启动一下
"-Dfile.encoding=UTF-8"
每次启动的时候,记得使用管理员权限启动。
实战
Kettle 是ETL 工具,玩数据的工具 数据倒来倒去。
Sqoop 、Flume 、DataX 都是一类的工具。
1)将txt数据导⼊到excel 中
选择 【转换】--> 【新建】,拖拽 【⽂本⽂件输⼊】和 【Excel输出】,摁住shift键,拖拽连接两者。
双击 【文本文件输入】
点击字段:
点击预览数据:
点击 字段 --> 获取字段
点击运行,开始转换,此时第一次会弹出让你保存这个转换的脚本,选一个地方保存一下
修改 Excel 输出:
出现这个错误,就说明 文件被打开了,需要关闭掉
如果选择的是 MS XLS,在输出的时候,可以选择使用高版本的格式比如 xlsx
点击复制。
选择保存的文件名字和后缀
以上演示的是传统数据的导入导出。
2)本地安装MySQL
查看mysql版本
如果本地已经有了mysql,可以跳过以下操作。
安装MySQL
安装MySQL图形化工具
Navicat Premium
Navicat Premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到 MySQL、SQLite、Oracle、MariaDB、Mssql、及PostgreSQL 资料库,让管理不同类型的资料库更加的方便。
DataGrip
DataGrip 版是由JetBrains公司推出的数据库管理软件,DataGrip支持几乎所有主流的关系数据库产品,如DB2、Derby、H2、MySQL、Oracle、PostgreSQL、SQL Server、Sqllite及Sybase等,并且提供了简单易用的界面,开发者上手几乎不会遇到任何困难。
3)将excel表格中的数据导⼊到mysql中
开始设置Excel输入:
通过预览数据,发现数据有点问题,需要修复一下:
要将输入导入到mysql中:
最后发现没有数据库,所以需要创建一个数据库:
此处的连接名称最好不要是中文的,因为中文的连接如果【共享】之后可能会出现xml中的中文问题。
点击测试,出现错误:
将这个jar包,放入到kettle中:
由于我们上文安装的是MySQL8.0的数据库,使用如下驱动包。
拷⻉到 pdi这个软件的lib ⽬录下:
然后重启 kettle 这个软件,关掉,再进⼊就是重启了。
假如一直连不上,可以使用低版本的mysql,然后使用低版本的驱动。
将数据库连接【共享】,共享的意思是,这个数据库连接在很多地方都可以重复使用。
重启完,报另一个错误:
解决方案:
serverTimezone = GMT+8
启动:
useUnicode=true
characterEncoding=UTF-8
进行sql语句的微调:
CREATE TABLE t_user
(
id varchar(255)
, name varchar(255)
, age int
, gender int
, province varchar(255)
, city varchar(255)
, region varchar(255)
, phone varchar(255)
, birthday date
, hobby varchar(255)
, register_date varchar(255)
);
数据库连接可以共享:
右键,选择 “共享”
当分享的时候报错:
问题的原因是:连接的名字含有中文。
修改此文件夹下的share.xml 文件
如何修改呢?
然后重启Kettle.
进入到数据库连接的地方,去掉中文的名字即可:
标签:基本,varchar,数据库,Kettle,MySQL,安装,255 From: https://blog.csdn.net/weixin_64726356/article/details/142184652