ETL工具 - Kettle 介绍及基本使用

这篇具有很好参考价值的文章主要介绍了ETL工具 - Kettle 介绍及基本使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Kettle 介绍

在介绍 Kettle 前先了解下什么是 ETLETLExtract-Transform-Load 的缩写,即数据 抽取、转换、装载 的过程,对于企业或行业应用来说,经常会遇到各种异构数据的处理、转换、迁移等操作,这些操作有可能会面对大量的数据和繁琐的步骤,因此就萌生了一些 ETL 处理工具,市面上常见的ETL工具有很多,比如Sqoop、DataX、Kettle、Talend等,本篇文章就主要来介绍下 Kettle 工具。

Kettle水壶)是一款国外开源的ETL工具,现在已经更名为PDIPentaho Data Integration-Pentaho 的缩写,由纯 java 编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。它可以处理各种异构数据库中的数据,并且提供了可视化图形界面的方式进行操作,让你思路主要关注在如果处理数据上,而不是如何实现处理的过程,特点如下图介绍:

ETL工具 - Kettle 介绍及基本使用

Kettle的官网地址如下:

https://community.hitachivantara.com/home

如上图介绍 ,Kettle 分了两种脚本文件,transformation (转换)和 job(作业) ,transformation 主要完成对数据的处理和转换,job 则完成整个工作流的控制,一个 job 可以包含多个 transformation ,如下图所示:

ETL工具 - Kettle 介绍及基本使用

ETL工具 - Kettle 介绍及基本使用

另外在 Kettle 中又包含了 4 个核心组件,分别如下:

  • 勺子(Spoon.bat / Spoon.sh) : 图像化界面,可以通过图形化界面交互方式开发transformationjob
  • 煎锅(Pan.bat / pan.sh): 可以用命令行的形式执行由 Spoon 编辑的transformationjob
  • 厨房(Kitchen.bat / kitchen.sh) : 可以使用命令行调用由 Spoon 编辑好的 job
  • 菜单(Carte.bat / carte.sh) : 一个轻量级的 Web 容器,用户建立远程ETL Server

二、Kettle 安装

安装前,需要电脑上已经安装配置好 jdk 环境,版本建议1.8及以上。

下载kettle压缩包:

https://sourceforge.net/projects/pentaho/files/Pentaho%209.1/

Kettle 为绿色软件,下载后可以解压到任意本地路径,但注意尽量不要带有中文路径,不然会出现意想不到的效果。

其中 Kettle 的目录说明如下:

ETL工具 - Kettle 介绍及基本使用
ETL工具 - Kettle 介绍及基本使用

三、Kettle 使用基本介绍

双击解压目录下的 Spoon.bat 即可启动图形化界面工具,启动过程有点慢耐心等待下,如果启动失败,可以修改下 JVM 的最堆内存的大小, Spoon.bat 文件下:

ETL工具 - Kettle 介绍及基本使用

等待片刻后会进到如下页面:

ETL工具 - Kettle 介绍及基本使用

在 工具栏/文件/新建 下可以选择创建一个转换作业

ETL工具 - Kettle 介绍及基本使用

3.1 转换

转换(transaformation) 主要负责数据的输入、转换、校验和输出等工作。转换由多个Step(步骤) 组成,如文本文件输入,过滤输出行,执行 SQL 等。各个步骤之间使用 Hop (跳) 来链接。

ETL工具 - Kettle 介绍及基本使用

Step 是转换里的基本的组成部分,比如上面的 CSV文件输入Excel输出,一个Step 有如下几个关键特性:

  • Step需要有一个名字,这个名字在同一个转换范围内唯一。
  • Step将数据写到与之相连的一个或多个输出 Hop,再传送到指向的另一端的Step
  • 大多数的Step都可以有多个输出,当出现多个输出时可以选择复制或分发,复制是所有的记录被同时发送到所有的目标步骤,分发是目标步骤轮流接收记录:

ETL工具 - Kettle 介绍及基本使用

HopStep 之间带箭头的连线,定义了数据的通路。Hop 实际上是两个Step 之间被称之为行集的数据行缓存,行集的大小可以在转换的设置里定义。当行集满时,向行集写数据的 Step 将停止写入,直到行集里又有了空间。当行集空了,从行集读取数据的 Step 停止读取,直到行集里又有可读的数据行。

其中转换属性可以双击空白处:

ETL工具 - Kettle 介绍及基本使用

3.2 数据元数据

每个步骤在输出数据行时都有对字段的描述,也就是数据行的元数据。元数据通常包含下面一些信息。

  • 名称:数据行里的字段名是唯一的
  • 数据类型:字段的数据类型
  • 格式:数据显示的方式,如Integer#、0.00
  • 长度:字符串的长度或者BigNumber类型的长度
  • 精度BigNumber数据类型的十进制精度
  • 货币符号
  • 小数点符号:十进制数据的小数点格式。不同文化背景下小数点符号是不同的,一般是点(.)或逗号(,
  • 分组符号:数值类型数据的分组符号,不同文化背景下数字里的分组符号也是不同的,一般是点(.)或逗号(,)或单引号(

ETL工具 - Kettle 介绍及基本使用

3.3 数据的类型

Kettle 中的数据区分了数据的类型,类型包含如下几种:

  • String:字符类型数据
  • Number:双精度浮点数。
  • Integer:带符号长整型(64位)。
  • BigNumber:任意精度数据。
  • Date:带毫秒精度的日期时间值。
  • Boolean:取值为truefalse的布尔值。
  • Binary:二进制字段可以包含图像、声音、视频及其他类型的二进制数据。

3.2 作业

作业 (Job),负责定义一个完成整个工作流的控制,比如将转换的结果发送邮件给相关人员。因为转换(transformation)以并行方式执行,如果需要一个串行的调度工具来执行转换,就可以使用作业:

ETL工具 - Kettle 介绍及基本使用

四、Kettle 数据处理案例

例如有如下 CSV 数据,其中字段分别表示:用户ID、用户名、性别、成绩1、成绩2、成绩3

ETL工具 - Kettle 介绍及基本使用

id,name,sex,grade1,grade2,grade3
1,小明,男,90,80,70
2,小红,女,91,81,71
3,小兰,女,92,82,72
4,小爱,女,93,83,73
5,张三,男,94,84,74
6,李四,男,95,85,75
7,王五,男,96,86,76
8,赵六,男,97,87,77
9,小六,男,98,88,78
10,小七,男,99,89,79

现有需求:要求计算出每个人的总成绩和平均分,将结果输出到 Excel 中。

新建一个转换:

ETL工具 - Kettle 介绍及基本使用

拖入一个 CSV文件输入:

ETL工具 - Kettle 介绍及基本使用

双击 CSV文件输入,选择 CSV 文件、编码等:

ETL工具 - Kettle 介绍及基本使用

可以点击预览查看数据:

ETL工具 - Kettle 介绍及基本使用

下面拖入一个 计算器 ,计算成绩总和:

ETL工具 - Kettle 介绍及基本使用

按住 Shift 连接上 CSV文件输入和 计算器:

ETL工具 - Kettle 介绍及基本使用

双击计算器,修改名称,并指定计算方式:

ETL工具 - Kettle 介绍及基本使用

此时可以运行下看下计算结果:

ETL工具 - Kettle 介绍及基本使用
ETL工具 - Kettle 介绍及基本使用

可以看到已经计算出了总成绩,下面计算平均分数的话还需要一个常量 3

ETL工具 - Kettle 介绍及基本使用

双击进入修改名称和指定常量值:

ETL工具 - Kettle 介绍及基本使用

下面再拖一个计算器,计算平均分数,参数如下:

ETL工具 - Kettle 介绍及基本使用

到这可以运行下看下结果:

ETL工具 - Kettle 介绍及基本使用

可以看到已经计算出平均成绩了,下面就可以输出到 Excel 中了,拖入一个 Excel输出:

ETL工具 - Kettle 介绍及基本使用

双击进入修改属性:

ETL工具 - Kettle 介绍及基本使用

再进入到字段下指定输出的字段,其中 num 字段仅仅是为了计算用的,这里删除掉:

ETL工具 - Kettle 介绍及基本使用

最后运行转换,到输出目录下查看 Excel 中的内容:

ETL工具 - Kettle 介绍及基本使用
ETL工具 - Kettle 介绍及基本使用

已经写入处理后的数据。文章来源地址https://www.toymoban.com/news/detail-472282.html

到了这里,关于ETL工具 - Kettle 介绍及基本使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据ETL工具对比(Sqoop, DataX, Kettle)

    前言 在实习过程中,遇到了数据库迁移项目,对于数据仓库,大数据集成类应用,通常会采用 ETL 工具辅助完成,公司和客户使用的比较多的是 Sqoop , DataX 和 Kettle 这三种工具。简单的对这三种ETL工具进行一次梳理。 ETL工具,需要完成对源端数据的抽取(exat), 交互转换(

    2024年02月11日
    浏览(40)
  • Springboot整合ETL引擎Kettle的使用

    ETL 是英文Extract-Transform-Load的缩写,用来描述将数据从源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程,它能够对各种分布的、异构的源数据(如关系数据)进行抽取,按照预先设计的规则将不完整数据、重复数据以及错误数据等“脏\\\"数据内容进行清洗,得到符合

    2024年02月14日
    浏览(30)
  • 主流的开源ETL工具介绍

            开源ETL(Extract, Transform, Load)工具为组织提供了一种经济高效的方法来集成来自不同源的数据,以便进行分析、报告和业务智能。这些工具通常具有灵活性、可扩展性和较低的总体拥有成本。以下是几种流行的开源ETL工具及其特点、安装步骤和应用场景的概述。

    2024年04月23日
    浏览(23)
  • kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ consumer实战

    1、上一节课我们学习了MQTT producer 生产者步骤,MQTT consumer消费者步骤。该步骤可以从支持MRQTT协议的中间件获取数据,该步骤和kafka consumer 一样可以处理实时数据交互,如下图所示:  2、双击步骤打开MQTT consumer 配置窗口,如下图所示: Step name: 自定义步骤名称。 Transformat

    2024年04月28日
    浏览(36)
  • 关于Kettle ETL java脚本编写遇到的一些问题记录

    使用方法**logBasic()**参数必须是字符串 这部分内容会在ETL的日志窗口显示 1.获取上个节点传输的数据 可以直接在左侧双击获取 2.全局参数获取 在启动运行的变量设置参数 在java代码中获取方式 3.获取当前节点参数 在当前窗口下方有个 参数 Tab页,在这里设置 在java代码中获取

    2024年02月12日
    浏览(30)
  • Cantata 测试工具基本使用介绍

    写本文是因为没有带办公电脑,在个人电脑上先写,然后复制到公司内部网络。需要软件自行联系国内代理商,勿扰 概述 Cantata QA 工具是德国斯图加特的一家名为QA System技术股份有限公司的产品,国内名称为北京旋极信息技术股份有限公司,在北京上海深圳均有办公点。 工

    2024年02月12日
    浏览(25)
  • 自动化测试工具 —— selenium介绍及基本使用方法

    Selenium是一个开源、免费、简单、灵活,对Web浏览器支持良好的自动化测试工具,在UI自动化、爬虫等场景下是十分实用的,能够熟练掌握并使用Selenium工具可以大大的提高效率。 Selenium简介 Selenium支持多平台、多浏览器、多语言去实现自动化测试,是一个开源和可移植的Web测

    2024年02月05日
    浏览(45)
  • ETL工具-nifi干货系列 第三讲 nifi web ui 使用教程

    1、nifi 服务启动之后,浏览器输入 https://localhost:8443/nifi  ,匿名登录或者输入用户名密码进入操作页面,如下图所示: 2、组件工具栏 处理器,鼠标放到图标上提示Processor,里面里面有各种各样的组件,可以实现各种各样的功能。  拖拉处理器到画布中,出现处理器选择列表,

    2024年04月14日
    浏览(29)
  • Kettle Local引擎使用记录(一)(基于Kettle web版数据集成开源工具data-integration源码)

    在前面对 data-integration 做了一些简单了解,从部署到应用,今天尝试把后端运行作业代码拎出来,去真正运行一下,只有实操之后才会有更深刻的认识,有些看着简单的功能,实操过程中会遇到很多问题,这个时候你的想法也会发生改变,所以很多时候为什么开发人员痛恨做

    2024年02月02日
    浏览(35)
  • 【ETL工具】Datax-ETL-SqlServerToHDFS

    🪁🍁🪁🍁🪁🍁🪁🍁 感谢点赞和关注 ,每天进步一点点!加油! 🪁🍁🪁🍁🪁🍁🪁🍁 目录 🦄 个人主页——🎐个人主页 🎐✨🍁 一、DataX概览 1.1 DataX 简介 1.2 DataX框架 1.3 功能限制 1.4 Support Data Channels 二、配置样例 2.1 环境信息 2.2 SQLServer数据同步到HDFS 2.2 参数说明

    2024年02月08日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包