ETL数据整合与处理(Kettle).pptx

  1. 1、本文档共774页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

开启ETL之旅;;ETL的3个字母分别代表Extract(抽取)、Transform(转换)和Load(装载)。ETL不仅仅是对一个企业部门、一个应用系统数据的简单整理,更是跨部门、跨系统的数据整合处理,在企业数据模型的基础上,构建合理的数据存储模式,建立企业的数据交换平台,满足各个应用系统之间的数据交换需求,提供全方位的数据服务,并满足企业决策的数据支持需求。

ETL原本是作为构建数据仓库的一个环节,负责将分布的、异构数据源中的数据,如关系数据、平面数据文件等抽取至临时中间层后进行清洗、转换、集成,最后加载至数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。现在ETL也越来越多地应用于信息系统中数据的迁移、交换和同步等场景中。

;ETL主要包括数据抽取、数据转换、数据装载3部分内容,具体如下。

数据抽取:从数据源端的系统中,抽取目标端系统需要的数据。

数据转换:从数据源端获取的数据按照业务需求,转换成目标端要求的数据形式,并对错误、不规范、不一致的数据(俗称“脏”数据)进行清洗和加工。

数据装载:将转换后的数据装载到指定数据库或文件中。;ETL的主要环节是数据抽取、数据转换与加工、数据装载。为了实现这些功能,各个ETL工具一般会进行一些功能上的扩充,例如工作流、调度引擎、规则引擎、脚本支持、统计信息等,ETL采用的技术如下。;(1)数据抽取

数据抽取是从数据源中抽取数据的过程。实际业务中,数据主要存储在数据库中。从数据库中抽取数据一般有以下两种方式。

全量抽取:全量抽取类似于数据迁移或数据复制,它将数据源中的表或视图的数据,原封不动地从数据库中抽取出来,并转换成ETL工具可以识别的格式。

增量抽取:增量抽取只抽取自上一次抽取以来,数据库中要抽取的表中新增或修改的数据。在ETL使用过程中,增量抽取相比全量抽取,增量抽取的应用范围更广。如何捕获变化的数据是增量抽取的关键。对于捕获方法,有两点要求:第一是准确性,将业务系统中的变化数据,按一定的频率准确地捕获到;第二是性能,不能对业务系统造成太大的压力,影响现有业务。;增量数据抽取???,常用的捕获变化数据的方法如下表所示。

;了解ETL;此外,除了数据库外,ETL抽取的数据还可能是文件,例如TXT文件、CSV文件、Excel文件和XML文件等。对于文件数据的抽取,一般是进行全量抽取,一次抽取前可保存文件的时间戳或计算文件的MD5校验码,下次抽取时进行比对,如果时间戳或计算文件的MD5校验码相同,那么可忽略本次抽取。

;(2)数据转换和加工

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

ETL引擎中的数据转换和加工:ETL引擎中一般以组件化的方式实现数据转换。常用的数据转换组件有字段映射、数据过滤、数据清洗、数据替换、数据计算、数据验证、数据加解密、数据合并、数据拆分等。这些组件可以任意组合,各组件之间通过数据总线共享数据。有些ETL工具还提供了脚本支持,读者可以以一种编程的方式定制数据的转换和加工操作。

;在数据库中进行数据加工:系数据库本身已经提供了强大的SQL和函数支持数据的加工,如在SQL查询语句中添加where条件进行过滤,查询重命名字段名与目的表进行映射,以及substr函数,case条件判断等。相比在ETL引擎中进行数据转换和加工,直接在SQL语句中进行转换和加工更加简单清晰,性能更高,对于SQL语句无法处理的可以交由ETL引擎处理。

;(3)数据装载

数据装载是将转换和加工后的数据装载到指定数据库或文件的过程,是ETL的最后步骤。装载数据的最佳方法取决于所执行操作的类型以及需要装入多少数据。当需要将数据装载至数据库时,有以下两种装载方式。

直接使用SQL语句进行Insert、Update、Delete操作。

采用批量装载方法,如BCP(导出)、BULK(导入)、关系数据库特有的批量装载工具或API。

多数情况下使用第一种方法,但针对大数据时,批量装载量的优化更好,效率更高。

;根据不同的供应商可将ETL工具分为两种,一种是数据库厂商自带的ETL工具,如Oraclewarehousebuilder(OWB)、OracleDataIntegrator(ODI)。另一种是第三方工具提供商,如Kettle、Informatica。开源世界中,也有很多的ETL工具,功能各异,强弱不一。;(1)OracleDataIntegrator

OracleDataIntegrator(ODI)前身是SunopsisActiveIntegrationPlatform,在2006年底被Oracle收购,重新命名为OracleDataIntegrator,适用于

文档评论(0)

139****1983 + 关注
实名认证
内容提供者

副教授、一级建造师持证人

一线教师。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档