大数据 ETL 处理工具 Kettle 入门实践

简介: Kettle 是一款国外开源的 ETL 工具,对商业用户也没有限制,纯 Java 编写,可以在 Window、Linux、Unix 上运行,绿色无需安装,数据抽取高效稳定。Kettle 中文名称叫水壶,它允许管理来自不同数据库的数据,把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle 中有两种脚本文件,Transformation 和 Job, Transformation 完成针对数据的基础转换,Job 则完成整个工作流的控制。通过图形界面设计实现做什么业务,并在 Job 下的 start 模块,有一个定时功能,可以每日,每周等方式进行定时。

Kettle 是什么


Kettle 是一款国外开源的 ETL 工具,对商业用户也没有限制,纯 Java 编写,可以在 Window、Linux、Unix 上运行,绿色无需安装,数据抽取高效稳定。Kettle 中文名称叫水壶,它允许管理来自不同数据库的数据,把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle 中有两种脚本文件,TransformationJob, Transformation 完成针对数据的基础转换,Job 则完成整个工作流的控制。通过图形界面设计实现做什么业务,并在 Job 下的 start 模块,有一个定时功能,可以每日,每周等方式进行定时。

Kettle 的核心组件

名称 功能
Spoon 通过图形接口,允许你通过图形界面来设计 ETL 转换过程(Transformation)
Pan 运行转换的命令行工具
Kitchen 运行作业的命令行工具
Carte Carte 是一个轻量级别的 Web 容器,用于建立专用、远程的 ETL Server
  • 作业和转换可以在图形界面里执行,但这只适合在开发、测试和调试阶段。在开发完成后,需要部署到生产环境中  Spoon 就很少用到了,Kitchen 和 Pan 命令行工具用于实际的生产环境。
  • 部署生产阶段一般需要通过命令行执行,需要把命令行放到 Shell 脚本中,并定时调度这个脚本。
  • Kitchen 和 Pan 工具是 Kettle 的命令行执行程序,只是在 Kettle 执行引擎上的封装,它们只是解释命令行参数,调用并把这些参数传递给 Kettle 引擎。
  • Kitchen 和 Pan 在概念和用法上都非常相近,这两个命令的参数也基本是一样的。唯一不同的是 Kitchen 用于执行作业,Pan 用于执行转换。

Kettle 概念模型


Kettle 的执行分为两个层次:Job(作业,.kjb 后缀)和 Transformation(转换,.ktr 后缀)

img

简单地说,一个转换就是一个 ETL 的过程,而作业则是多个转换、作业的集合,在作业中可以对转换或作业进行调度、定时任务等。

在实际过程中,写的流程不能很复杂,当数据抽取需要多步骤时,需要分成多个转换,在集成到一个作业里顺序摆放,然后执行即可。

目录文件功能说明


来源网络来源网络来源网络下载及安装


官网各个版本下载地址:https://sourceforge.net/projects/pentaho/files/Data%20Integration/
国内 Kettle 论坛网:https://www.kettle.net.cn/

Kettle 是纯 Java 编程的开源软件,需要安装 JDK,并配置环境变量,解压后直接使用无需安装。

需准备的其他东西:数据库驱动,如将驱动放在 Kettle 根目录的 bin 文件夹下面即可。

打开 Kettle 只需要运行 Spoon.bat (win)/ spoon.sh (Linux / macOS),即可打开 Spoon 图形工具。

启动 Kettle


如下图,执行  ./spoon.sh 命令

image-20210705214148018

欢迎页面

首页HelloWorld



需求:把数据从 CSV 文件复制到 Excel 文件

CSV 文件到 Excel 文件

CSV 文件输入

CSV 输入控件

将 「CSV 文件输入」拖拽到右侧的工作区,双击进行编辑,浏览选择准备好的测试文件,点击「获取字段」自动获取 CSV 文件中表头信息,输入配置完成,下一步进行输出配置。

编辑 CSV 文件输入

Excel 输出


Excel 输出

将 「Excel 输出」拖拽到右侧的工作区,双击进行编辑,这步比较简单,浏览选择输出目录和设置文件名,完成配置。

输出配置

转换文件


按住 shift + 鼠标左键可以建立连接,保存转换配置

连接

运行转换


运行结果

查看结果


运行结果


总结



初步了解 Kettle 核心组件及其使用


  • 作业和转换可以在图形界面里执行,但这只适合在开发、测试和调试阶段。在开发完成后,需要部署到生产环境中  Spoon 就很少用到了,Kitchen 和 Pan 命令行工具用于实际的生产环境。
  • 部署生产阶段一般需要通过命令行执行,需要把命令行放到 Shell 脚本中,并定时调度这个脚本。
  • Kitchen 和 Pan 工具是 Kettle 的命令行执行程序,只是在 Kettle 执行引擎上的封装,它们只是解释命令行参数,调用并把这些参数传递给 Kettle 引擎。
  • Kitchen 和 Pan 在概念和用法上都非常相近,这两个命令的参数也基本是一样的。唯一不同的是 Kitchen 用于执行作业,Pan 用于执行转换。

分步操作一个 HelloWrold 过程


相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
10月前
|
存储 数据采集 搜索推荐
Java 大视界 -- Java 大数据在智慧文旅旅游景区游客情感分析与服务改进中的应用实践(226)
本篇文章探讨了 Java 大数据在智慧文旅景区中的创新应用,重点分析了如何通过数据采集、情感分析与可视化等技术,挖掘游客情感需求,进而优化景区服务。文章结合实际案例,展示了 Java 在数据处理与智能推荐等方面的强大能力,为文旅行业的智慧化升级提供了可行路径。
Java 大视界 -- Java 大数据在智慧文旅旅游景区游客情感分析与服务改进中的应用实践(226)
|
10月前
|
数据采集 SQL 搜索推荐
大数据之路:阿里巴巴大数据实践——OneData数据中台体系
OneData是阿里巴巴内部实现数据整合与管理的方法体系与工具,旨在解决指标混乱、数据孤岛等问题。通过规范定义、模型设计与工具平台三层架构,实现数据标准化与高效开发,提升数据质量与应用效率。
3254 0
大数据之路:阿里巴巴大数据实践——OneData数据中台体系
|
11月前
|
数据采集 存储 大数据
大数据之路:阿里巴巴大数据实践——日志采集与数据同步
本资料全面介绍大数据处理技术架构,涵盖数据采集、同步、计算与服务全流程。内容包括Web/App端日志采集方案、数据同步工具DataX与TimeTunnel、离线与实时数仓架构、OneData方法论及元数据管理等核心内容,适用于构建企业级数据平台体系。
1131 1
|
11月前
|
数据采集 分布式计算 DataWorks
ODPS在某公共数据项目上的实践
本项目基于公共数据定义及ODPS与DataWorks技术,构建一体化智能化数据平台,涵盖数据目录、归集、治理、共享与开放六大目标。通过十大子系统实现全流程管理,强化数据安全与流通,提升业务效率与决策能力,助力数字化改革。
400 4
|
11月前
|
分布式计算 监控 大数据
大数据之路:阿里巴巴大数据实践——离线数据开发
该平台提供一站式大数据开发与治理服务,涵盖数据存储计算、任务调度、质量监控及安全管控。基于MaxCompute实现海量数据处理,结合D2与DataWorks进行任务开发与运维,通过SQLSCAN与DQC保障代码质量与数据准确性。任务调度系统支持定时、周期、手动运行等多种模式,确保高效稳定的数据生产流程。
500 0
大数据之路:阿里巴巴大数据实践——离线数据开发
|
11月前
|
分布式计算 DataWorks 数据处理
在数据浪潮中前行:记录一次我与ODPS的实践、思考与展望
本文详细介绍了在 AI 时代背景下,如何利用阿里云 ODPS 平台(尤其是 MaxCompute)进行分布式多模态数据处理的实践过程。内容涵盖技术架构解析、完整操作流程、实际部署步骤以及未来发展方向,同时结合 CSDN 博文深入探讨了多模态数据处理的技术挑战与创新路径,为企业提供高效、低成本的大规模数据处理方案。
489 3
|
11月前
|
机器学习/深度学习 存储 分布式计算
ODPS驱动电商仓储革命:动态需求预测系统的落地实践
本方案基于ODPS构建“预测-仿真-决策”闭环系统,解决传统仓储中滞销积压与爆款缺货问题。通过动态特征工程、时空融合模型与库存仿真引擎,实现库存周转天数下降42%,缺货率下降65%,年损减少5000万以上,显著提升运营效率与GMV。
1071 1
|
10月前
|
存储 SQL 分布式计算
大数据之路:阿里巴巴大数据实践——元数据与计算管理
本内容系统讲解了大数据体系中的元数据管理与计算优化。元数据部分涵盖技术、业务与管理元数据的分类及平台工具,并介绍血缘捕获、智能推荐与冷热分级等技术创新。元数据应用于数据标签、门户管理与建模分析。计算管理方面,深入探讨资源调度失衡、数据倾斜、小文件及长尾任务等问题,提出HBO与CBO优化策略及任务治理方案,全面提升资源利用率与任务执行效率。
745 0
|
8月前
|
人工智能 Cloud Native 算法
拔俗云原生 AI 临床大数据平台:赋能医学科研的开发者实践
AI临床大数据科研平台依托阿里云、腾讯云,打通医疗数据孤岛,提供从数据治理到模型落地的全链路支持。通过联邦学习、弹性算力与安全合规技术,实现跨机构协作与高效训练,助力开发者提升科研效率,推动医学AI创新落地。(238字)
557 7
|
11月前
|
数据采集 SQL 监控
ETL还是ELT,大数据处理怎么选更靠谱?
在数据处理中,ETL(抽取、转换、加载)与ELT(抽取、加载、转换)是两种核心流程。ETL强调在数据入库前完成清洗和转换,适合质量要求高、转换复杂的场景;而ELT则先将原始数据快速入库,再利用现代数仓的计算能力进行转换,更适合大数据和实时分析需求。选择哪种方式,需根据数据量、转换复杂度、系统资源及业务需求综合判断。