(超详细) ETL工具之Kettle

Kettle简介

  • kettle最早是一个开源的ETL工具,后命名为Pentaho Data Integration。
  • 由JAVA开发,支持跨平台运行,其特性包括:支持100%无编码、拖拽方式开发ETL数据管道,可对接包括传统数据库、文件、大数据平台、接口、流数据等数据源,支持ETL数据管道加入机器学习算法。
  • Kettle是一个实现ETL开发的一款开发工具,Spoon是Kettle工具提供的图形化界面。

原本想上传安装包和数据连接包的,上传不了,有意可联系主页扣扣。


Kettle的核心组件

  1. 转换(Transformation):处理数据流的基本单元,由多个步骤(Step)通过跳(Hop)连接,实现数据抽取、清洗、转换等操作,每个步骤独立运行线程,支持并行处理。
  2. 作业(Job):控制任务执行顺序,按流程调用转换或其他作业,适用于需要严格顺序执行的场景(如邮件通知)

并行处理机制:Kettle的转换步骤默认以并发方式执行,所有步骤同时启动,通过行集缓存实现数据流处理,这种机制既能高效利用系统资源,又避免内存溢出,尤其适合大数据量的ETL场景,比如,多个步骤可同时处理不同的数据分片,提升整体的吞吐量。


Kettle的安装与使用

Kettle需要基于JAVA环境,因此安装前需要安装JDK,以下是版本对应关系,这里使用pdi-ce-8.2.0.0-342

|------------|---------|---------|-------------------------|
| Kettle版本 | 最低JDK要求 | 推荐JDK版本 | 兼容性说明 |
| Kettle8.x | JDK1.8 | JDK1.8 | 支持JDK1.8,部分功能需JDK1.8的特性 |
| Kettle9.x | JDK1.8 | JDK11 | 官方推荐JDK1.8,社区版可兼容JDK11 |
| Kettle10.x | JDK11 | JDK11 | ... |

解压Kettle

文件

  1. Spoon.bat/Spoon.sh:图形化工具的启动脚本,Win使用.bat,Linux/Mac使用.sh
  2. pan.bat/pan.sh:命令行工具,用于执行转换
  3. kitchen:命令行工具,用于执行作业
  4. Carte:轻量级web服务工具,支持分布式任务调度

目录

目录名 功能说明
lib 存放Kettle核心依赖库(如.jar文件)。需手动添加数据库驱动 (如MySQL的mysql-connector-java.jar),以支持连接特定数据库
plugins 插件目录,包含官方及第三方插件(如Hadoop、Spark、NoSQL等)。用户可扩展自定义插件
samples 示例文件目录,提供基础转换(.ktr)和作业(.kjb)示例,适合学习参考
logs 日志目录,记录Kettle运行时的详细日志(如错误信息、执行状态)
simple-jndi 数据库连接池配置文件(jdbc.properties),用于定义全局数据库连接
pwd 默认密码文件目录,存储加密后的密码信息
ui 用户界面资源文件(如图标、样式表)

简单使用

通过命令启动Spoon.bat


应用场景

  1. 数据迁移:将数据从CSV文件转换后加载到数据库
  2. 数据清洗:去重、过滤异常值、标准化格式等
  3. 构建数据仓库:整合多源异构数据,生成统一视图
  4. 实时与批处理:支持两种模式,适用于离线分析和实时监控
相关推荐
云器科技2 天前
螳螂科技:从组装到统一,如何用云器 Lakehouse 完美替代“MC+DW+ADB”三件套?
数据库·数据仓库·人工智能
白日与明月3 天前
Hive子查询中的ORDER BY陷阱:为什么排序“消失”了?
数据仓库·hive·hadoop
isNotNullX4 天前
企业数据中台建设,ETL工具选错了会踩哪些坑?
数据仓库·etl·原型模式
SelectDB技术团队4 天前
预约发布会|核心产品力首发,如何构建面向 Agent 时代的企业级数据引擎
数据库·数据仓库·人工智能·数据分析·可观测·apache doris·selectdb
Nefu_lyh5 天前
【Hive】六、Hive 运算逻辑:数学 / 逻辑 / 条件 / 日期 / 字符串函数
数据仓库·hive·hadoop
ChaITSimpleLove5 天前
Etl.Net 2.2.0 项目深度分析
数据仓库·.net·etl·大数据处理·数据管道·数据处理引擎
陆水A5 天前
【实时数仓·3】Flink多表JOIN状态爆炸——Event Time Temporal JOIN + TTL分层治理
大数据·数据仓库·数据分析·flink·数据库开发·bigdata
zhangjin12225 天前
DataX从入门到精通 第1课 ETL之DataX 安装DataX
数据仓库·etl·datax·datax安装教程
zhangjin12225 天前
DataX从入门到精通 第2课 ETL之DataX 安装datax-web
数据仓库·etl·datax·datax-web·datax-web安装教程
Database_Cool_5 天前
AI 时代的数据仓库:阿里云 AnalyticDB MySQL 向量检索 + SQL 分析一体化实战
数据仓库·人工智能·mysql·阿里云