无事来学学--Kettle的安装和基本概念了解(下)

简介: 什么是ETL?ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少


12、Kettle实现,把数据从CSV文件复制到Excel文件。


首先,创建一个转换,找到核心对象,找到输入里面的CVS文件输入图元,拖拽到工作区域,双击CVS文件输入。

可以修改步骤的名称,点击浏览,选择到CVS文件,其他参数可以默认,点击获取字段,最后点击确定。

网络异常,图片无法展示
|


CVS文件输入配置完毕以后,可以配置Excel输出,如下所示:

网络异常,图片无法展示
|


此时,可以 按住shift拖动鼠标,划线,将CVS文件输入和Excel输出连到一起。

网络异常,图片无法展示
|


最后,点击Excel输出,选择字段,点击获取字段,将输出到Excel的字段进行映射,最后点击确定即可。

网络异常,图片无法展示
|


点击ctrl + s保存,然后点击启动按钮即可。

网络异常,图片无法展示
|


13 、Kettle的执行结果。


网络异常,图片无法展示
|


14、Kettle,可以被称为可视化编程。


1)、Kettle可以被归类为可视化编程语言(Visula Programming Languages,VPL),因为Kettle可以使用图形化的方式定义复杂的ETL程序和工作流。

2)、Kettle里的图就是转换和作业。

3)、可视化编程一直是Kettle里的核心概念,它可以让你快速构建复杂的ETL作业和减低维护工作量。它通过隐藏很多技术细节,使IT领域更贴近于商务领域。


15、Kettle里面的转换。


1)、转换(transaformation)是ETL解决方案中最主要的部分,它处理抽取、转换、加载各种对数据行的操作。

2)、转换包含一个或多个步骤(step),如读取文件、过滤数据行、数据清洗或将数据加载到数据库。

3)、转换里的步骤通过跳(hop)来连接,跳定义一个单向通道,允许数据从一个步骤向另一个步骤流动。

4)、在Kettle里,数据的单位是行,数据流就是数据行从一个步骤到另一个步骤的移动。

5)、数据流有的时候也被称之为记录流。


16、Kettle里面的,Step步骤(控件)是转换里的基本的组成部分。


一个步骤有如下几个关键特性:

1)、步骤需要有一个名字,这个名字在转换范围内唯一。

2)、每个步骤都会读、写数据行(唯一例外是"生成记录"步骤,该步骤只写数据)。

3)、步骤将数据写到与之相连的一个或多个输出跳,再传送到跳的另一端的步骤。

4)、大多数的步骤都可以有多个输出跳。一个步骤的数据发送可以被被设置为分发和复制,分发是目标步骤轮流接收记录,复制是所有的记录被同时发送到所有的目标步骤。


17、Kettle里面的,Hop跳(即图元之间的连线)。


1)、跳就是步骤之间带箭头的连线,跳定义了步骤之间的数据通路。

2)、跳实际上是两个步骤之间的被称之为行集的数据行缓存(行集的大小可以在转换的设置里定义)。

3)、当行集满了,向行集写数据的步骤将停止写入,直到行集里又有了空间。

4)、当行集空了,从行集读取数据的步骤停止读取,直到行集里又有可读的数据行。


18、Kettle里面的,数据行-数据类型。


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

1)、String:字符类型数据

2)、Number:双精度浮点数。

3)、Integer:带符号长整型(64位)。

4)、BigNumber:任意精度数据。

5)、Date:带毫秒精度的日期时间值。

6)、Boolean:取值为true和false的布尔值。

7)、Binary:二进制字段可以包含图像、声音、视频及其他类型的二进制数据。


19、Kettle里面的,数据行-元数据。


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

1)、名称:行里的字段名应用是唯一的。

2)、数据类型:字段的数据类型。

3)、格式:数据显示的方式,如Integer的#、0.00。

4)、长度:字符串的长度或者BigNumber类型的长度。

5)、精度:BigNumber数据类型的十进制精度。

6)、货币符号:¥。

7)、小数点符号:十进制数据的小数点格式。不同文化背景下小数点符号是不同的,一般是点(.)或逗号(,)。

8)、分组符号:数值类型数据的分组符号,不同文化背景下数字里的分组符号也是不同的,一般是点(.)或逗号(,)或单引号(’)。


20、Kettle里面的,并行概念。


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

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

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

目录
相关文章
|
7月前
|
存储 分布式计算 MaxCompute
Hologres实时湖仓能力入门实践
本文由武润雪(栩染)撰写,介绍Hologres 3.0版本作为一体化实时湖仓平台的升级特性。其核心能力包括湖仓存储一体、多模式计算一体、分析服务一体及Data+AI一体,极大提升数据开发效率。文章详细解析了两种湖仓架构:MaxCompute + Hologres实现离线实时一体化,以及Hologres + DLF + OSS构建开放湖仓架构,并深入探讨元数据抽象、权限互通等重点功能,同时提供具体使用说明与Demo演示。
|
9月前
|
自然语言处理 机器人 开发者
大模型的综合分析报告
- **性能**:所提及的模型在性能上均表现出色,特别是在语言生成和理解方面。参数规模较大的模型(如DeepSeek-LLM-67B-Chat、Yi-1.5-9B-Chat等)通常能提供更为丰富的语言处理能力。 - **显存**:显存需求因模型参数规模而异,但一般较大规模的模型需要较高配置的硬件支持。 - **生态**:Llama、GLM等模型在开源社区中较为受欢迎,拥有一定的用户基础和生态支持。其他模型可能处于发展初期,生态支持有待加强。 - **更新频率和时间**:具体更新频率可能因开发者团队和模型版本而异。但一般而言,开源模型可能会不断更新以改进性能和功能。 - **效果评估**:在对话
|
7月前
|
人工智能 自然语言处理 程序员
下载量突破400万,百万开发者首选的 AI 编码工具通义灵码是如何炼成的?
下载量突破400万,百万开发者首选的 AI 编码工具通义灵码是如何炼成的?
225 3
|
测试技术 开发工具 git
掌握 Git 分支策略:提升你的版本控制技能
在现代软件开发中,版本控制至关重要,Git 作为最流行的分布式版本控制系统,其分支管理策略对于高效协作和代码维护尤为重要。本文介绍了几种常用的 Git 分支策略,包括主线开发模型、功能分支模型、Gitflow 工作流和 Forking 工作流,并探讨了如何根据项目需求选择合适的分支模型。通过保持 `master` 分支稳定、及时合并清理分支、使用命名规范、利用 Pull Request 进行代码审查及自动化测试等最佳实践,可以显著提升团队协作效率和软件质量。掌握这些策略将帮助开发者更好地管理代码库,加快开发流程。
|
消息中间件 监控 Java
【Kafka】kafka判断一个节点还活着?
【4月更文挑战第6天】【Kafka】kafka判断一个节点还活着?
|
网络协议 安全 网络性能优化
OSI 模型详解:网络通信的七层架构
【8月更文挑战第31天】
2985 0
|
安全 网络协议 算法
秒懂HTTPS接口(原理篇)
【4月更文挑战第24天】秒懂HTTPS接口(原理篇)
1715 4
秒懂HTTPS接口(原理篇)
|
安全 Java
AQS唤醒线程的时候为什么从后向前遍历
AQS唤醒线程的时候为什么从后向前遍历
1256 0
AQS唤醒线程的时候为什么从后向前遍历
|
关系型数据库 MySQL 数据库
【MySQL】:高效利用MySQL函数实用指南
【MySQL】:高效利用MySQL函数实用指南
412 0
|
设计模式 算法 Java
【设计模式】springboot3项目整合模板方法深入理解设计模式之模板方法(Template Method)
【设计模式】springboot3项目整合模板方法深入理解设计模式之模板方法(Template Method)