当前位置:首页 期刊杂志

ETL数据抽取技术研究

时间:2024-04-25

叶敏

【摘要】ETL是“Extract”,“Transform”和“Load”3个单词的首字母缩写,是数据抽取、转换、装载的意思,一般将ETL简写为数据抽取。ETL是构建数据仓库和数据挖掘的很重要的一部分。本文通过介绍ETL技术架构,分析常见ETL工具,讨论了ETL技术对商业领域的意义。ETL技术很大程度上提高了数据输入的质量,为大数据分析和数据挖掘提供巨大的支持。

【关键词】ETL 数据抽取 数据仓库

数据信息是现代企业的重要战略资源,是企业进行科学决策和分析的基础。如今,大多数企业用大量的时间和资金来构建事务处理OLTP的业务系统和办公自动化OA系统,用来记录事务处理的各种相关数据,有太多的潜在价值数据没有得到合理利用。企业如何通过运用各种信息技术手段,把数据转换为有用的信息和作为决策依据,已经成了提高其核心竞争力的主要瓶颈。ETL则是主要的一个技术手段,为企业进行大数据分析和数据挖掘提供重要的支持。

一、ETL体系架构

下图为ETL体系结构,它是主流ETL产品框架的主要组成部分。ETL是指从源系统中提取数据,转换数据为一个标准的格式,并加载数据到目标数据存储区,通常是数据仓库。

(一)数据抽取

数据抽取就是从外部不同的数据源中抽取数据,需要确认数据的来源和以及将到的数据抽取技术。数据抽取分为数据增量抽取和全量抽取。增量抽取一般有4种抽取模式:①时间戳方式:通过比较需要抽取的数据库系统时间戳与抽取源表的时间戳字段的值来决定抽取哪些数据,这种方式需要源表中存在一个或多个时间戳字段,并且其值随着新纪录的增加而不断增加,执行数据抽取时,程序通过时间戳对数据进行过滤,抽取设定的时间戳的数据;②全表对比方式:每次从源表中读取所有记录,然后逐条比较源表和目标表的记录,将新增和修改的记录过滤读取出来,采用MD5校验码。③触发器方式:根据抽取要求,要建立插入、修改和删除3个触发器,该方法需要用户在源数据库中有创建触发器和临时表的权限,触发器可以捕获新新增的数据到临时表中,在进行抽取时,程序会自动从临时表中读取新增的数据。④志表方式:该方法是在数据库中创建业务日志表,当系统监控的业务数据发生特定的变化时,日志表内容会记录更新。日志表的维护需要编写特定的程序代码来完成。

(二)数据转换

数据转换是ETL过程中最为繁琐的部分,主要任务包括数据类型转换、数据格式转换等,可以在数据抽取过程中利用关系数据库的特性进行转换和在ETL引擎工具中完成。

一般来说,从数据源中抽取的数据是不符合入数据仓的要求,有必要对数据进行转换、清洗、拆分、汇总等处理,解决数据格式的不一致、数据输入错误、数据不完整等问题。进行数据转换的原因有以下几点:①数据不完整性:在数据库中有信息缺失,从而导致数据的不完整性。解决的办法是找到错误信息进行补全②数据格式错误:指的是缺失数据值或数据超出数据范围的问题,解决办法是定义域完整性进行格式约束③数据不一致性:表现为主表与子表的数据不能匹配,一般原因是缺少外键的定义,需要找由业务部门对数据进行核对,修正后再进行抽取。

(三)数据加载

数据加载一般是ETL的最后一步。是值将抽取和转换的数据从数据临时表或者文件中导入到指定的数据仓库,装载数据的最佳方法一般是取决于所执行操作的类型以及需要装入多少数据。有两种装载方式:①一种是直接SQL语句进行操作.②采用关系数据库特有的装载工具批量进行装载,甚至可以采用多程并行处理方式加载数据,提高程序运行效率。

二、ETL常见工具

当选择ETL产品时,最关键的因素是考虑这个产品在你的指定的环境和配置下,这个产品的执行性能。当你选择一个ETL工具时,需要考虑选中工具的因素有:(1)能够支持分布的数据整合需要并且要允许你借助于手头的资源和技术(2)数据整合工具的使用不应该千扰你现在的环境,而是应该充分利用由RDBMS和SQL提供的能力和功能。

通过ETL工具,实现ETL数据抽取,主要是原因是維护容易。目前市场上主流的ETL工具可以分为两大类:一类是专业ETL厂商的产品,这类产品一般都具备较完善的体系结构和久经考验的产品,产品的功能之复杂和详尽,但是能令初次接触的人膛目,并且高昂的价格也会使一般用户望而却步;另一类是整体数据仓库方案供应商,他们在提供数据仓库存储、设计、展现工具的同时也提供相应的ETL工具,这类产品一般对自己厂商的相关产品有很好的支持并能发挥出其最大效率,但结构相对封闭,对其他厂商产品的支持也很有限。专业ETL厂商和产品包括ASCENTIAL公司的DATASTAGEXE,SAGENT公司SOLUTION和INFORMATICA公司的产品,整体方案提供商和产品则包括ORACLE公司的WAREHOUSEBUILDER和IBM公司的WAREHOUSE MANAGER。

三、ETL技术在商业领域的作用

在商业领域中,商业智能(Business Intelligence)的关键是从许多的来自不同的企业运作系统的数据,经过提取和清理获得有用并且准确的数据,经ETL过程,合并到企业级的数据仓库里,从而得到企业数据的一个全局视图,为管理者决策过程提供支持。ETL在整个BI过程中起到承上启下的作用,ETL的成败将直接影响整个BI项目的成功与否。ETL技术可以使得商业分析速度加快,使公司的业务获得决策更多的决策时间。随着ETL技术成本下降和计算能力的增长,分析技术开始从内存与存储价格的下降中获益。同时,随着开源软件挖掘出更有价值的数据,从海量的数据中发现之前用户的真正搜索需要的数据,支撑决策。

四、总结

本文介绍了ETL的体系结构以及它的几个处理过程,并详细分析了ETL技术在数据抽取、数据转换和数据加载等方面的具体实现过程。通过介绍了ETL的常用工具以及ETL技术对商业智能的作用。ETL在整个BI过程中起到承上启下的作用,这部分工作质量的好坏直接决定了数据的输入资料,把握好ETL过程中的每一个步骤,才能为接下来的数据分析打下坚实的基础。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!