大数据ETL开发之图解Kettle工具入门到精通(附上kettle安装包)

本文详细介绍了大数据ETL工具Kettle,包括元数据、数据类型、并行处理和作业的概念。重点讲解了Kettle的转换,如CSV、文本、Excel和XML输入,以及Excel、文本、SQL输出等控件的使用。此外,还涉及了转换控件如字段选择、值映射、计算等,以及如何进行数据清洗和转换。文章最后讨论了数据库查询、流查询和连接控件在数据集成中的应用。
摘要由CSDN通过智能技术生成

在这里插入图片描述

2.5.5 元数据

每个步骤在输出数据行时都有对字段的描述,这种描述就是数据行的元数据

通常包含下面一些信息

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

数据以数据行的形式沿着步骤移动。一个数据行是零到多个字段的集合,字段包含下面几种数据类型。

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

跳的这种基王行集缓在的规则允许每个步骤都是由一个独立的线程运行,这样并发程度最高。这一规则也允许数据以最小消耗内存的数据流的方式来处理。在数据仓库里,我们经常要处理大量数据,所以这种高并发低消耗的方式也是 ETL 工具的核心需求。

对于 kettle 的转换,不能定义一个执行顺序,因为所有步骤都以并发方式执行:当转换启动后,所有步骤都同时启动,从它们的输入跳中读取数据,并把处理过的数据写到输出跳,直到输入跳里不再有数据,就中止步骤的运行。当所有的步骤都中止了,整个转换就中止了。

如果你想要一个任务沿着指定的顺序执行,那么就要使用下面所讲的“作业”!

2.5.8 作业

作业(Job),负责定义一个完成整个工作流的控制,比如将转换的结果发送邮件给相关人员。因为转换(transformation) 以并行方式执行,所以必须存在一个串行的调度工具来执行转换,这就是Kettle 中的作业。

第3章 Kettle的转换

3.1 Kettle输入控件

输入是转换里面的第一个分类, 输入控件也是转换中的第一大控件, 用来抽取数据或者生成数据。输入是ETL里面的E (Extract),主要做数据提取的工作。

在这里插入图片描述

由于Kettle中自带的输入控件比较多,本文只挑出开发中经常使用的几个输入控件来进行讲解,详情如下图:
在这里插入图片描述

3.1.1 CSV文件输入

CSV 文件是一个用逗号分隔的固定格式的文本文件,这种文件后缀名为.csv,可以用Excel或者文本编辑器打开。在企业里面一般最常见的 ETL 需求就是将 csv 文件转换为 excel 文件,如果用 Kettle 来做这个 ETL工作,就需要用到本章节讲解的CSV文件输入控件。

任务:熟悉CSV文件输入控件,并尝试将CSV文件转换成Excel文件(可参考上面的快速体验案例)。
在这里插入图片描述

  • 步骤名称:可以修改,但是在同一个转换里面要保证唯一 性, 见名知意
  • 文件名:选择对应的csv文件
  • 列分隔符:默认是逗号(不用改)
  • 封闭符:结束行数据的读写(不用改)
  • NIO 缓存大小:文件如果行数过多,需要调整此参数
  • 包含列头行:意思是文件中第一行是字段名称行,表头不进行读写
  • 行号字段:如果文件第一行不是字段名称或者需要从某行开始读写,可在此输入行号。
  • 并发运行? :选择并发,可提高读写速度
  • 字段中有回车换行? :不要选择,会将换行符做数据读出
  • 文件编码:如果预览数据出现乱码,可更换文件编码
3.1.2 文本文件输入

提取服务器上的日志信息是公司里 ETL开发很常见的操作,日志信息基本上都是文本类型,因此文本文件输入控件是kettle中常用的一个输入控件。

任务:熟悉文本文件输入控件,并新建转换,将txt日志文件转换为Excel文件

使用文本文件输入控件步骤:

1) 添加需要转换的日志文件
在这里插入图片描述

2)按照日志文件格式,指定分隔符
在这里插入图片描述

3)获取下字段,并给字段设置合适的格式(数字类型的数据尽量选Integer,因为number类型有两位小数点)

4)最后点下预览记录,看看能否读到数据

在这里插入图片描述
在这里插入图片描述

3.1.3 Excel文件输入

Excel输入控件也是很常用的输入控件,一般企业里会用此控件对大量的Excel文件进行ETL操作。

任务:两张sheet表合二为一

使用Excel输入控件步骤如下

原始数据:
在这里插入图片描述
在这里插入图片描述

1)按照读取的源文件格式指定对应的表格类型为 xls 还是 xlsx

2)选择并添加对应的excel文件
在这里插入图片描述

3)获取excel的sheet工作表
在这里插入图片描述
在这里插入图片描述

4)获取字段,并给每个字段设置合适的格式
在这里插入图片描述

5)预览数据
在这里插入图片描述

3.1.4 XML输入

1)XML简介

XML可扩展标记语言eXtensible MarkupLanguage,由W3C组织发布,目前推荐遵守的是W3C组织于2000年发布的XML1.0规范。XML用来传输和存储数据,就是以一个统一的格式,组织有关系的数据,为不同平台下的应用程序服务。

在这里插入图片描述

2)XPath简介

XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。XPath使用路径表达式在XML文档中选取节点。下面列出了最有用的路径表达式

在这里插入图片描述

3)XML输入控件

了解XML和XPath概念以后,我们要开始学习Kettle的XML输入控件,企业里经常用此控件进行XML文件的ETL操作。

任务:熟悉XML输入控件,将XML文件的学生数据写到excel文件中

1.浏览获取xml文件,将xml文件添加到kettle中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值