面向数据集成的ETL技术研究(3)

时间:2025-04-19

详细介绍了数据抽取的几种主要办法

等操作的同时就可以提取数据,并且变化的数据被保存在数据库的变化表中。这样就可以捕获发生变化的数据,然后利用数据库视图以一种可控的办法提供给目标windows。CDC体系结构基于发布者/订阅者模型。发布者捕捉变化数据并提供给订阅者。订阅者试用从发布者那里获得的变化数据。通常,CDCwindows拥有一个发布者和多个订阅者。发布者首先需要辨别捕获变化数据所需的源表。然后,它捕捉变化的数据并将其保存在特别创建的变化表中。它还使订阅者能够控制对变化数据的访问。订阅者需要清楚自己感兴趣的是哪些变化数据。一个订阅者可能不会对发布者发布的所有数据都感兴趣。订阅者需要创建一个订阅者视图来访问经发布者授权可以访问的变化数据。CDC分为同步形式和异步形式,同步形式实时的捕获变化数据并存储到变化表中,发布者与订阅都位于同一数据库中。异步形式则是基于Oracle Database的流拷贝技术。

ETL处理的数据源除了关系数据库外,还可能是文档,例如txt文档、excel文档、xml文档等。对文档数据的抽取一般是进行全量抽取,一次抽取前可保存文档的时间戳或计算文档的MD5校验码,下次抽取时进行比对,如果相同则可忽略本次抽取。

2.2 数据转换和加工

从数据源中抽取的数据不一定完全满足目的库的要求,例如数据格式的不一致、数据输入错误、数据不完整等等,因此有必要对抽取出的数据进行数据转换和加工。

数据的转换和加工可以在ETL引擎中进行,也可以在数据抽取过程中利用关系数据库的特性同时进行。

(1)ETL引擎中的数据转换和加工

ETL引擎中一般以组件化的办法实现数据转换。常用的数据转换组件有字段映射、数据过滤、数据清洗、数据替换、数据计算、数据验证、数据加解密、数据合并、数据拆分等。这些组件如同一条流水线上的一道道工序,它们是可插拔的,且可以任意组装,各组件之间通过数据总线共享数据。

有些ETL工具还提供了脚本支持,使得客户可以以一种编程的办法定制数据的转换和加工行为。

(2)在数据库中进行数据加工

关系数据库本身已经提供了强大的SQL、函数来支持数据的加工,如在SQL查询语句中添加where条件进行过滤,查询中重命名字段名与目的表进行映射,substr函数,case条件判断等等。下面是一个SQL查询的例子。 select ID as USERID, substr(TITLE, 1, 20) as TITLE, case when REMARK is null then ' ' else REMARK end as 内容 from

面向数据集成的ETL技术研究(3).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219