• 0

    用户访问量

  • 0

    注册用户数

  • 0

    在线视频观看人次

  • 0

    在线实验人次

Kettle基本操作

作者:云创智学|发布时间:2022-05-18 14:07:03.0|来源:云创智学

Kettle的主要功能是用来转换或者抽取数据,即ETL。Kettle提供了资源库的方式来整合所有的工作,如图所示为Kettle的概念模型。一个数据抽取过程主要包括创建一个作业,每个作业可以包括多个转换操作。转换主要是操作数据库,由编写和执行SQL语句、配置数据库地址等一系列步骤构成。

一个完整的作业包括开始、作业、成功3个节点,针对作业进行编辑,选择作业所调用的转换,在转换中可以配置查询操作、更新操作或者插入操作等。上述操作均可使用软件中的工具执行,也可以通过编写程序调用的方式来实现。

1.转换(transformation)

转换主要是针对数据的各种处理,其本质是一组图形化的数据转换配置的逻辑结构,一个转换由若干个步骤(Steps)和连接(Hops)构成,转换文件的扩展名是.ktr。如下图所示的转换例子,是一个从文本文件中读取数据、过滤、排序,然后将数据加载到数据库的过程。


(1)步骤

转换的构建模块,如一个数据文件的输入或一个表的输出就是一个步骤。按不同的功能分类,Kettle中的步骤主要有输入类、输出类和脚本类等。每种步骤用于完成某种特定的功能,通过配置一系列的步骤就可以完成相关的数据转换任务。

(2)连接

数据的通道,用于连接两个步骤,实现将元数据从一个步骤传递到另一个步骤。构成一个转换的所有步骤,并非按顺序执行,节点的连接只是决定了贯穿在步骤之间的数据流,步骤之间的顺序并不是转换执行的顺序。当执行一个转换时,每个步骤都以其自己的线程启动,并不断地接收和推送数据。

在一个转换中,所有的步骤是同步开启并运行的,所以步骤的初始化顺序是不可知的。因此我们不能在第一个步骤中设置一个变量,并试图在后续的步骤中使用它。一个步骤可以有多个连接,数据流可以从一个步骤流到多个步骤。


2.作业(Jobs)

作业是比转换更高一级的处理流程,基于工作流模型协调数据源、执行过程和相关依赖性的ETL活动,实现了功能性和实体过程的聚合,作业由作业节点连接、作业项(Job Entry)和作业设置组成,作业文件的扩展名是.kjb。

一个作业中展示的任务有从FTP获取文件、核查一个数据库表是否存在、执行一个转换、发送邮件通知一个转换中的错误等,最终的结果可能是数据仓库的更新等。





联系方式
企业微信