2021-10-10

1.相关概念
(1)转换
转换是ETL解决方案中重要的组成部分之一,它主要用于数据的抽取、转换以及加载等操作,其本质是一组图形化的数据转换配置的逻辑结构。一个转换包括一个或多个步骤,例如读取文件、过滤输出行、数据清洗或将数据加载到数据库中等步骤。转换中的步骤是通过跳来连接的,跳定义了一个单向通道,允许数据从一个步骤向另一个步骤流动。在Kettle中,数据的单位是行,数据流就是数据行从一个步骤到另一个步骤的移动。
步骤是转换里的基本组成部分,也可被称为控件。步骤是以图标的方式展现。例如“表输入”步骤、“文本文件输出”等步骤。 Kettle转换中的步骤按功能分类可以分为输入类、输出类、操作类以及脚本类等,每一个步骤都完成一种特定的功能。例如,“表输入”步骤主要用于向关系型数据库的数据表发出一个SQL查询,并将得到的数据行写到它的输出跳中,“文本文件输出”步骤主要用于从它的输入跳读取数据行,并将数据行写到文本文件中。
跳是步骤之间带箭头的连接线,即数据的通道,用于连接两个步骤,实现将元数据从一个步骤传递到另一个步骤,支持分发和复制方式。需要注意的是,由于每个步骤都是单独线程,当启动转换时,每个步骤都会创建各自线程并接收和推送传递数据,因此数据处理的顺序并不是按照节点连接箭头的顺序来执行的。 实际上,跳是两个步骤之间的被称为行集(Row Set)的数据行缓存。若行集满了,则向行集写数据的步骤将停止写入,直到行集里又有空间。若行集空了,则从行集读取数据的步骤就会停止读取,直到行集里又有可读取的数据行。
注释是一个特殊的存在,不参与程序的处理,它以文本描述的方式呈现在转换/作业中,只为增强流程的可读性,可放在流程图中的任何一个位置。注释的重要性是毋庸置疑的,必要的注释可大大减少维护成本。
数据行:数据是以数据行的形式沿着步骤流动。
(2)作业
目前,大多数的ETL项目都需要完成各种各样的维护工作。例如,如何传送文件、验证数据库中的数据表是否存在等操作,这些操作都必须按照一定顺序完成,由于转换是以并行方式执行的,因此需要一个可以串行执行的作业来处理这些操作。 一个作业包含一个或者多个作业项,并且这些作业项都是以某种顺序来进行执行的。作业执行的顺序由作业项之间的跳(Job Hop)和每个作业项的执行结果来决定。
作业项是作业的基本构成部分,也可称之为控件。作业项类似于转换中的步骤,也可以使用图标的方式进行图形化展示。
作业项与步骤的区别

步骤的名字是唯一的,而作业项可以进行拷贝,也就是说可以将一个作业项放在多个不同的位置,并且这些拷贝的作业项中的信息都是相同的,若修改了其中一个作业项,那么其他拷贝的作业项也都会随之修改;
步骤之间的数据行是以数据流的方式传递的,而作业项之间可以传递一个结果对象,并且结果对象里包含了数据行,但数据行不是以流的方式传递的,而是等到一个作业项执行完成后,再传递给下一个作业项;
默认情况下,所有的步骤都是以并行的方式执行,而所有的作业项目都是串行方式执行的。
2.转换实例
打开Kettle(Spoon.bat),依次点击 “文件”–>“新建”–>“转换” 可以得到一个如下界面:
在这里插入图片描述
依次选择 “核心对象”–>“输入” ,其中的步骤可随意拉入Kettle工作区中,此处以拉入随机数为例:
在这里插入图片描述
可在双击该步骤,设置随机数的名称、字段和类型:
在这里插入图片描述
接下来在核心对象中依次选择 ”输出“–>”文本文件输出“,同样将其拉入工作区。同样,可双击或右键文本文件输,设置该输出步骤的信息和属性等。随后点击运行:

在这里插入图片描述
3.作业实例
打开Kettle(Spoon.bat),依次点击 “文件”–>“新建”–>“作业” 可以得到一个如下界面:
在这里插入图片描述
选择核心对象,点击通用,将其中的“START”和“作业”拉入工作区,并选中建立新节点,得到如下结果:
在这里插入图片描述
同理,点击邮件,选择发送邮件,拉入工作区,与各个作业建立新节点,如图:
在这里插入图片描述
点击作业菜单栏找到三角形标志,即可运行该作业,在工作栏下方可观察作业运行结果:
在这里插入图片描述
无论是转换操作还是作业操作,核心对象中的步骤都可以拖入工作区中,拖入之后的相应操作都有很多,本次只选择某些例子作为实践。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值