Kettle 是一款开源、免费的 ETL 数据集成工具,广泛应用于数据抽取、转换、加载、跨库数据同步等场景。本文详细讲解 Windows环境下 Kettle 的安装步骤、环境配置,并搭配入门案例演示基础使用方法,零基础也能快速上手。
一、工具简介
1、什么是kettle
Kettle(现更名为Pentaho Data Integration,简称 PDI)是开源的 ETL(Extract-Transform-Load)工具,纯 Java 开发,跨平台、无代码可视化操作,支持数据抽取、清洗、转换、加载、定时任务、跨数据库同步等功能,是大数据、数仓开发、运维人员常用的数据集成工具。
前置要求:Kettle 基于 Java 运行,必须先安装 JDK 8 及以上版本,并配置好 Java 环境变量。
2、Kettle工程存储方式
(1)以XML形式存储
(2)以资源库方式存储(数据库资源库和文件资源库)
3、Kettle的两种设计
4、Kettle的组成
5、kettle特点
二、kettle安装
kettle官网
https://community.hitachivantara.com/home
下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可
双击Spoon.bat,启动图形化界面工具,就可以直接使用了
右键编辑,可以修改编码为UTF-8
启动后页面
三、kettle简单使用
1、将txt数据导⼊到excel 中
选择 【转换】--> 【新建】,拖拽 【⽂本⽂件输⼊】和 【Excel输出】,摁住shift键,拖拽连接两者。
双击 【文本文件输入】
添加完文件后,点击内容,修改分隔符,以及编码方式
点击获取字段
双击Excel,输出文件不用加后缀
点击字段,获取字段。没有添加格式,最后输出数据会有问题
输入格式前:
输入格式后
2、Excel文件到mysql数据库
双击Excel
找出需要传递的Excel表数据
浏览数据发现有问题,需要修改格式
连接数据库
测试连接发现驱动有问题
需要在lib文件下安装驱动
再次测试发现时区有问题
解决方法:
连接上以后
获取字段后点击sql,里面的类型不是很规范,转为mysql需要的建表语句
修改以后执行
3、Mysql到Mysql
双击表输入
是: 每一个字段都写出来
否: 只写一个*
双击表输出
上述会出现 执行多次,会将重复内容一直加进去的问题
因此用 表输入 到 插入/更新更好
这样子,重复执行也不会有有重复的数据,只有当原来的表有数据改变时才会改变。
比如添加一条数据,会添加,修改了哪条数据会修改
4、Mysql到hive
需要提前添加hive的jar包
输出hive类型
会报错误 类型不一致导致的。
修改表输入查询的语句
修改完后执行,hive中就有数据了
四、总结 & 后续学习方向
- 本文完成了 Kettle 在 Windows平台的安装、环境排错,以及最基础的转换实战,新手可快速入门。
- Kettle 核心学习路线:
- 基础:转换、作业、各类输入 / 输出组件、数据库连接
- 进阶:数据清洗、联表查询、增量同步、定时调度、集群部署
- 实战:跨库数据迁移、数仓数据同步、日志采集等业务场景
Kettle 作为轻量化开源 ETL 工具,上手简单、功能强大,是数据开发必备工具之一,建议多动手练习各类组件,逐步掌握复杂数据同步场景。