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

Kettle 简介

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 过程

(0)

相关推荐

  • spoon数据转换中文乱码(kettle)

    (1) 查看mysql数据库是否为utf8(status) (2) 设置spoon (3) 文本打开spoon.bat,找到set OPT=%OPT% %PENTAHO_DI_JAVA_OPTIONS ...

  • 5个常用的大数据可视化分析工具

    开发者技术前线 3天前 让一部分开发者看到未来 整理自:侠梦的开发笔记 前言 大数据及移动互联网时代,每一个使用移动终端的人无时无刻不在生产数据,而作为互联网服务提供的产品来说,也在持续不断的积累数据 ...

  • 大数据的语言,工具与框架发展

    为了解大数据的当前和未来状态,我们采访了来自28个组织的31位IT技术主管.我们问他们,"你在数据提取,分析和报告中使用的最流行的语言,工具和框架是什么?" 以下的文章是他们告诉我 ...

  • 大数据知识管理与协同应用实践

    企业知识管理作为一个独特的视角 ,对企业职能管理和流程管理的各个方面都产生了影响 ,这些交叉领域汇总为企业知识管理的内容.知识协同是一个公司在知识创造.获取.共享和重用的制度化过程中进一步创造价值的模 ...

  • 大数据平台常用工具集介绍

    提起大数据,不得不提由IBM提出的关于大数据的5V特点:Volume(大量).Velocity(高速).Variety(多样).Value(低价值密度).Veracity(真实性),而对于大数据领域的 ...

  • 大数据开发之Spark 基础入门学习

    集群相关 Cluster Manager指的是在集群上获取资源的外部服务,为每个spark application在集群中调度和分配资源的组件,目前有三种类型: Standalone:Spark 原生 ...

  • Flink在bilibili大数据与AI方向的探索与实践

    分享嘉宾:郑志升@bilibili 内容来源:Flink中文社区 导读:本文由 bilibili 大数据实时平台负责人郑志升分享,本次分享核心讲解万亿级传输分发架构的落地,以及 AI 领域如何基于 F ...

  • 大数据平台常见开源工具集锦(强烈推荐收藏)

    引言 大数据平台是对海量结构化.非结构化.半机构化数据进行采集.存储.计算.统计.分析处理的一系列技术平台.大数据平台处理的数据量通常是TB级,甚至是PB或EB级的数据,这是传统数据仓库工具无法处理完 ...

  • tataUFO 大数据应用实践

    感谢tataUFO各位同仁的大力支持,帮助我顺利完成了在QingCloud Insigt 2016技术大会上的演讲,特将讲稿PPT分享出来,共勉! 一.引子 脱离了产品需求的技术架构都是--" ...

  • MVP方法与实践:如何借助大数据进行市场研究?

    大数据时代新的市场研究方法使"无干扰"真实还原消费过程成为可能,智能化的信息处理技术使低成本.大样本的定量调研成为现实,这将推动消费行为及消费心理研究达到一个新的高度,帮助快速消费 ...