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

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

目录
相关文章
|
分布式计算 前端开发 Hadoop
【细节拉满】Hadoop课程设计项目,使用idea编写基于MapReduce的学生成绩分析系统(附带源码、项目文件下载地址)(三)
【细节拉满】Hadoop课程设计项目,使用idea编写基于MapReduce的学生成绩分析系统(附带源码、项目文件下载地址)(三)
869 0
|
6月前
|
缓存 运维 Linux
保姆级python项目离线部署服务器教程只需这一篇就够了(建议收藏)
这篇文章提供了详尽的Python项目在离线Linux(CentOS)服务器上的部署教程。作者首先介绍了环境背景,强调了无网络环境和使用有网络的CentOS虚拟机准备安装包的重要性。教程分为两部分:外网环境搭建和内网离线安装。在外网环境中,包括下载Python 3.9.0安装包、传输至服务器、安装依赖包,并使用pip3下载项目所需依赖。内网安装则涉及依赖包的复制和Python环境的同样步骤。最后,作者分享了运行项目的命令,并总结了离线安装的整个流程,提醒读者注意可能出现的问题。
保姆级python项目离线部署服务器教程只需这一篇就够了(建议收藏)
|
存储 SQL 关系型数据库
【MySQL】看完这篇不信你学不会如何使用数据处理函数(二)
【MySQL】看完这篇不信你学不会如何使用数据处理函数(二)
84 0
|
SQL 存储 算法
【MySQL】看完这篇不信你学不会如何使用数据处理函数(一)
【MySQL】看完这篇不信你学不会如何使用数据处理函数(一)
114 0
|
6月前
|
SQL 数据可视化 关系型数据库
【MySQL进阶之路丨第四篇】命令行与可视化工具
【MySQL进阶之路丨第四篇】命令行与可视化工具
295 0
|
SQL 数据采集 数据库连接
kettle基础概念理解
kettle基础概念理解
133 0
|
SQL JSON NoSQL
开心档-软件开发入门之Python MongoDB
MongoDB 是目前最流行的 NoSQL 数据库之一,使用的数据类型 BSON(类似 JSON)。 MongoDB 数据库安装与介绍可以查看我们的 MongoDB 教程。
|
分布式计算 Hadoop
Hadoop快速入门——第二章、分布式集群(第四节、搭建开发环境)(1)
Hadoop快速入门——第二章、分布式集群(第四节、搭建开发环境)
94 0
Hadoop快速入门——第二章、分布式集群(第四节、搭建开发环境)(1)
|
存储 分布式计算 Hadoop
Hadoop快速入门——第二章、分布式集群(第四节、搭建开发环境)(2)
Hadoop快速入门——第二章、分布式集群(第四节、搭建开发环境)
125 0
Hadoop快速入门——第二章、分布式集群(第四节、搭建开发环境)(2)
|
分布式计算 Hadoop
【细节拉满】Hadoop课程设计项目,使用idea编写基于MapReduce的学生成绩分析系统(附带源码、项目文件下载地址)(四)
【细节拉满】Hadoop课程设计项目,使用idea编写基于MapReduce的学生成绩分析系统(附带源码、项目文件下载地址)(四)
866 1
【细节拉满】Hadoop课程设计项目,使用idea编写基于MapReduce的学生成绩分析系统(附带源码、项目文件下载地址)(四)
下一篇
无影云桌面