Page 129 - 《橡塑技术与装备》2022年12期
P. 129
工业自动化 朴龙吉 等·面向 MES 系统的数据采集与整合
通过配置与 DB2、MySQL、MS Server 等关系型数据 重大的目标分解成若干个逻辑上分离的 Job,如果这
库,Hadoop 大数据数据库,MongoDB 等非关系型数 些 Job 全部成功,也就表示这个任务执行成功。
据库的连接信息以及获取半结构化、非结构化的文本 3.3 ETL 关键技术
文件、电子表格等文件的路径实现对数据源的访问 [7] 。 ETL 以任务(Job 和 Transform)的方式定义数
3.2 概念模型 据抽取、转换和加载的过程,通过执行任务实现对数
KETTLE 实现数据集成主要由 Job 和 Transform 据的集成。从三个方面介绍 ETL 的关键技术。
两大部分组成。ETL 活动是一个四元组 A = (ID, I, O, 3.3.1 多数据源抽取
S), ID 是活动标识符,I 是输入模式的集合,O 是输 (1)关系型数据库
出模式的集合,S 是一个或多个扩展的关系代数表达 关系型数据库存储的结构化数据类型能够很简单
式,表示每个输出模式的语义 [7] 。KETTLE ETL 的基 地转 化为 KETTLE 数 据流。KETTLE 通 过 JDBC 标
本概念模式在图 8 中给出。 准解决不同数据库系统之间数据类型上的差异性,通
过 JDBC-ODBC 桥接支持开放式数据库连接 (ODBC)
接口。
(2)普通文件
Excel、CSV、等文本文件数据也可以用 ETL 抽
取数据,而对于其中包含目录等信息数据的半结构化
数据,在处理中,通过 KETTLE 将目录数据转换为结
构化的数据表示,所转化的信息包括名称、目录的路
图 8 概念模型 径、大小、目录类型和列信息。转换后数据与操作关
系型数据库类似。
(1)Transform ( 转换 ) :一种对数据作业的容器,
3.3.2 数据库增量同步数据
其作业内容是将数据任务由导入到产出的整个流程,
(1)时间戳方式
可表现为比 Job 粒度要小一级的工作容器,首先将任
在源表中添加 timestamp 类型字段,在系统中的
务细分为 Job,然后根据需要再把 Job 分割成一个或
每次增删 ( 逻辑删除 ) 或改查时,必须同步更新字段
多 个 的 Transform, 但 每 次 Transform 都 只 能 完 成 一
内容。在数据抽取时,获取 timestamp 字段与数据源
个任务。
timestamp 进行比较来决定抽取那些数据,如图 9。
(2)Step(步骤):是转换的构建模块,也就是一
个文件导入或是输出一个数据就是一个步骤。在 PDI
中包括官方提供的一百四十多种步骤。包括输入、输
出、转换、应用、流程、连接、检验、加密、统计、
脚本等。可以通过不同的排列及配置一系列步骤完成
我们需要的数据集采工作。
(3)Hops(节点连接):是信息的通路,用来衔
接二个步骤 Step,使元数据由某个环节传送至另一环
节。在如上图所示的转换中,它像似按次序进行中的,
而实际并非如此。节点连接确定了贯通于流程内部的
数据流,进程内部的先后顺序是非转化完成的先后顺
序。在进行一次转化后,各个进程都有独立的线程启
图 9 数据比较
动,并不断的接收和传递数据。
(2)触发器方式
(4)Jobs(工作):是指基于工作流模式的,协
数据库中增加触发器,每当原表中数据发生变化
调数据源、执行工作流程以及相互依赖性的 ETL 活动。
时,写入临时表,抽取任务从临时表中抽取,临时表
组织各种转换一起完成一个工作,一般我们会将一项
中抽取过的数据被标记或者删除 [8] 。
2022 第 48 卷 ·73·
年

