Kettle的安装与基本使用

什么是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领域的佼佼者:

  1. 直观的图形用户界面:通过拖放组件来构建数据转换流程。
  2. 丰富的插件库:支持各种数据源和目标系统。
  3. 强大的数据转换能力:提供多种数据清洗和转换操作。
  4. 可扩展性:支持自定义脚本和插件开发。
  5. 高性能:优化的数据处理引擎,支持大规模数据集。

安装JDK

因为Kettle工具是用java语言开发的,要想运行起来就必须安装jdk。

安装

百度云盘下载链接 提取码: qjyd
jdk-8u221-64bit.exe

安装过程

JDK安装配置教程-CSDN博客

安装kettle

解压kettle

百度云盘下载链接  提取码: akgv

pdi-ce-9.1.0.0-324.zip

kettle 需要解压到一个非中文路径下。

因为kettle改名字了,叫做pdi

image.png


更改一下图标,更好看。

修改字符集

在安装目录下找到spoon.bat 文件

image.png

添加 如果打开软件重新启动一下

"-Dfile.encoding=UTF-8"

每次启动的时候,记得使用管理员权限启动。

实战

Kettle 是ETL 工具,玩数据的工具  数据倒来倒去。
Sqoop 、Flume 、DataX 都是一类的工具。

1)将txt数据导⼊到excel 中

选择 【转换】--> 【新建】,拖拽 【⽂本⽂件输⼊】和 【Excel输出】,摁住shift键,拖拽连接两者。

双击 【文本文件输入】

点击字段:

点击预览数据:

点击 字段 --> 获取字段

点击运行,开始转换,此时第一次会弹出让你保存这个转换的脚本,选一个地方保存一下

修改 Excel 输出:

出现这个错误,就说明 文件被打开了,需要关闭掉

如果选择的是 MS XLS,在输出的时候,可以选择使用高版本的格式比如 xlsx

点击复制。

选择保存的文件名字和后缀

以上演示的是传统数据的导入导出。

2)本地安装MySQL

查看mysql版本

如果本地已经有了mysql,可以跳过以下操作。

安装MySQL

本地安装MySQL配置环境变量-CSDN博客

安装MySQL图形化工具

Navicat Premium

        Navicat Premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到 MySQL、SQLite、Oracle、MariaDB、Mssql、及PostgreSQL 资料库,让管理不同类型的资料库更加的方便。

Navicat Premium 17安装教程

 DataGrip

        DataGrip 版是由JetBrains公司推出的数据库管理软件,DataGrip支持几乎所有主流的关系数据库产品,如DB2、Derby、H2、MySQL、Oracle、PostgreSQL、SQL Server、Sqllite及Sybase等,并且提供了简单易用的界面,开发者上手几乎不会遇到任何困难。

DataGrip2023安装教程

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.

进入到数据库连接的地方,去掉中文的名字即可:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值