数据仓库的架构大体可以分为三部分:后台是数据存储和计算引擎,前端是数据展现分析的用户界面,还有一个重要的部分就是ETL。
ETL所完成的工作主要包括三方面:首先,在数据仓库和业务系统之间搭建起一座桥梁,确保新的业务数据源源不断地进入数据仓库;其次,用户的分析和应用也能反映出最新的业务动态,虽然ETL在数据仓库架构的三部分中技术含量并不算高,但其涉及到大量的业务逻辑和异构环境,因此在一般的数据仓库项目中ETL部分往往也是牵扯精力最多的;第三,如果从整体角度来看,ETL主要作用在于屏蔽了复杂的业务逻辑,从而为各种基于数据仓库的分析和应用提供了统一的数据接口,这也是构建数据仓库最重要的意义所在。
如何评价ETL工具
正确选择ETL工具,可以从ETL对平台的支持、对数据源的支持、数据转换功能、管理和调度功能、集成和开放性、对元数据管理等功能出发,具体如下。
支持平台
随着各种应用系统数据量的飞速增长和对业务可靠性等要求的不断提高,人们对数据抽取工具的要求往往是将几十、上百个GB的数据在有限的几个小时内完成抽取转换和装载工作,这种挑战势必要求抽取工具对高性能的硬件和主机提供更多支持。
因此,我们可以从数据抽取工具支持的平台,来判断它能否胜任企业的环境,目前主流的平台包括SUN Solaris、HP-UX、IBM AIX、AS/400、OS/390、Sco UNIX、Linux、Windows等。
支持数据源
对数据源支持的重要性不言而喻,因此这个指标必须仔细地考量。首先,我们需要对项目中可能会遇到的各种数据源有一个清晰的认识;其次对各种工具提供的数据源接口类型也要有深入了解,比如,针对同一种数据库,使用通用的接口(如ODBC/JDBC)还是原厂商自己的专用接口,数据抽取效率都会有很大差别,这直接影响到我们能不能在有限的时间内完成ETL任务。
这里,笔 者列出一些常见的数据源供参考:DB2、Informix、Oracle、Sybase、SQL Server、Teredata、OleDB、SAS、Text、Excel、SAP、Peoplesoft、IMS、VSAM、QSAM on 390、FTP、XML、MessageQueue、Weblog等。
数据转换功能
数据转换是ETL中最令人头疼的问题,由于业务系统的开发一般有一个较长的时间跨度,这就造成一种数据在业务系统中可能会有多种完全不同的存储格式,甚至还有许多数据仓库分析中所要求的数据在业务系统中并不直接存在,而是需要根据某些公式对各部分数据进行计算才能得到。因此,这就要求ETL工具必须对所抽取的数据进行灵活的计算、合并、拆分等转换操作。
通常情况下,我们遇到的ETL转换要求包括:字段映射;映射的自动匹配;字段的拆分;多字段的混合运算;跨异构数据库的关联;自定义函数;多数据类型支持;复杂条件过滤;支持脏读;数据的批量装载;时间类型的转换;对各种码表的支持;环境变量是否可以动态修改;去重复记录;抽取断点;记录间合并或计算;记录拆分;抽取的字段是否可以动态修改;行、列变换;排序;统计;度量衡等常用的转换函数;代理主键的生成;调试功能;抽取远程数据;增量抽取的处理方式;制造样品数据;在转换过程中是否支持数据比较的功能;数据预览;性能监控;数据清洗及标准化;按行、按列的分组聚合等。
管理和调度功能
由于我们对数据抽取的要求越来越高以及专业ETL工具的不断涌现,ETL过程早已不再是一个简单的小程序就可完成的,目前主流的工具都采用像多线程、分布式、负载均衡、集中管理等高性能高可靠性与易管理和扩展的多层体系架构。因此,这就要求ETL在管理和调度功能上都具备相应的功能。
管理和调度的基本功能包括:抽取过程的备份与恢复;升级;版本管理;开发和发布;支持统一以及自定义的管理平台;支持时间触发方式;支持事件触发方式;支持命令行执行方式;支持用户对计算机资源的管理和分配;负载均衡;文档的自动生成;调度过程中能否执行其他任务等。
集成和开放性
随着数据仓库技术在国内应用的不断深入,许多开发商希望不向用户提供ETL工具的原来操作界面,而是将其一些主要功能模块嵌入到自己的系统或其他厂商的系统中,因为在大多数情况下一般项目只会用到ETL工具的少数几个功能,同时也没有必要给用户提供那么复杂的操作环境,其结果反而使用户容易产生操作错误。
上述问题就要求ETL工具能提供很好的集成性和开放性,可以从几方面考量:与OLAP集成;与前端工具集成;与建模工具集成;开放的API可将产品集成到统一界面;是否能调用各种外部应用,包括存储过程、各种流行语言开发的应用程序等;是否支持客户化定制的转换过程;是否支持与统计分析工具的集成等。
管理元数据
元数据是关于数据的数据,尤其对于ETL来说尤其重要。ETL中大量的数据源定义、映射规则、转换规则、装载策略等都属于元数据范畴,如何妥善地存储这些信息已经关系到ETL过程能否顺利完成而且影响到后期的使用和维护。任何业务逻辑的微小改变最终都落实为相应元数据的调整,初期没有一个完善的元数据管理功能而后期作类似调整几乎是“不可完成的任务”。基于元数据的重要性,国际组织提出一些统一的元数据存储标准,比较知名的如CWM等,为不同厂商工具之间互操作提供了可能性,相信也是今后的发展趋势。
针对ETL的元数据管理,笔者认为应包括:元数据存储的开放性;元数据存储的可移植性;提供多种方式访问元数据;元数据的版本控制;支持开放的元数据标准;支持XML进行元数据交换;支持分布式的元数据访问和管理;生成元数据报表;对于ETL过程的冲突分析;基于元数据的查询功能;元数据的广播和重用;对于ETL过程的流程分析等。
主流的ETL工具
目前市场上主流的ETL工具可以分为两大类:一类是专业ETL厂商的产品,这类产品一般都具备较完善的体系结构和久经考验的产品,产品的功能之复杂和详尽,往往能令初次接触的人膛目,但其高昂的价格也会使一般用户望而却步;另一类是整体数据仓库方案供应商,他们在提供数据仓库存储、设计、展现工具的同时也提供相应的ETL工具,这类产品一般对自己厂商的相关产品有很好的支持并能发挥出其最大效率,但结构相对封闭,对其他厂商产品的支持也很有限。
专业ETL厂商和产品包括Ascential公司的DataStageXE、Sagent公司的Solution和Informatica公司的产品,整体方案提供商和产品则包括Oracle公司的Warehouse Builder和IBM公司的Warehouse Manager。
ETL工具与手工编码
实现ETL,到底是选用ETL工具,还是手工编码?对于这个话题的争论可以说永无休止。很显然,这两种方式都有各自的优势和劣势,相信在很长一段时间里谁也无法取代谁。笔者认为有必要从以下几方面对两种方式作一个比较。
etl工具 手工编码
灵活性 比较灵活 最灵活
难易程度 相对容易 要求一定技术水平
管理和维护 容易 较难
性能和效率 较高 取决于编写者水平
开发周期 较短 较长
工作量 中等 较重
价格 较高 相对较低
分享到:
相关推荐
在选择合适的ETL工具时,需要考虑多个关键因素。 首先,ETL工具对平台的支持至关重要。企业可能运行在多种操作系统之上,如SUN Solaris、HP-UX、IBM AIX、AS/400、OS/390、Sco UNIX、Linux和Windows等。一个强大的...
正确选择ETL工具对于构建高效、可靠的数据仓库至关重要。 1. **支持平台**:ETL工具应支持多种操作系统和硬件平台,如SUN Solaris、HP-UX、IBM AIX、AS/400、OS/390、Sco UNIX、Linux、Windows等,以适应企业多样化...
ETL工具点评.docx ETL常见性能瓶颈.docx ETL构建企业级数据仓库五步法.docx ETL高级教程.docx 三大主流ETL工具选型.docx 什么是ETL.docx 商业智能 通过SSIS设计ETL来将Oracle,DB2,Sybase等数据源的数据定期导入到...
6.ETL工具点评 7.ETL构建企业级数据仓库五步法 8.ETL增量抽取 9.ETL增量抽取方式 10.三大主流ETL工具选型 11.商务智能(BI)的四大关键技术-ETL(抽取(Extract)、转换(Transform)和加载(Load)) 12.商业智能 通过SSIS...
- **反馈结果**:处理完成后,向用户反馈处理结果,并收集用户的满意度评价。 **1.2.3 服务规范体系** - **服务标准**:制定明确的服务标准,确保服务质量的一致性和可靠性。 - **沟通规范**:明确沟通渠道和服务...
文档覆盖了多个关键领域,包括文档的目的、范围、缩写约定、参考文献以及对数据仓库、ETL工具、OLAP和展示工具的基本介绍。 文档目的 文档的主要目的是为了比较Oracle和DB2在构建和管理数据仓库时的性能、功能、...
在这个项目中,团队使用了五种不同的ETL工具,这些工具可能包括Pentaho Data Integration (Kettle)、Talend、Informatica、Apache Nifi等,用于从各种源抽取数据,进行预处理,使其适合进一步的分析。 4. **Rapid...
它数据挖掘任务涉及范围广泛,包括各种数据艺术,能简化数据挖掘过程的设计和评价。 RapidMiner的功能和特点包括: * 免费提供数据挖掘技术和库 * 100%用Java代码(可运行在操作系统) * 数据挖掘过程简单、强大和...
* 熟悉 ETL 工具如 kettle、sqoop * 熟悉 Linux 操作系统以及常见命令 * 掌握可视化、报表工具:FineReport * 掌握 PL/SQL 的一些相关操作 自我评价 罗晨光自我评价为,工作积极主动,有责任心,良好的团队合作...
- 数据获取:ETL工具如Talend、Informatica、SSIS(SQL Server Integration Services) - 数据存储:数据仓库如Oracle、Teradata、Amazon Redshift - 数据处理:数据集市、OLAP(在线分析处理)工具如Cubes、IBM ...
1. 基本的 ETL 工具使用 2. 通过 CDC 技术从结构化数据库米集增量数据 3. 通过触发器、业务系统设计采集增量数据 (四) 数据加 工、清洗、整合 1. 基本 ETL 工具的使用 2. 基于 SQL 语句、类 SQL 语句、公式的数据...
报告中提到了使用Microsoft SQL SERVER 2000和Powerbuilder作为ETL工具,进行数据的清洗和整合。 3. **OLAP分析**:在线分析处理(Online Analytical Processing)用于制作多维分析报表,便于决策者进行深度探索和...
此外,大数据还涉及数据仓库建设、数据湖概念以及ETL(提取、转换、加载)流程。 算法和AI部分,美团点评可能利用机器学习和深度学习技术进行推荐系统、用户行为分析、智能调度等应用。这涉及到数据预处理、模型...
这个平台使用了高性能的ETL工具,例如 Informatica、Talend等,以便高效地处理大量交通数据。 大屏展示 大屏展示是本系统的最终展示形式,使用大屏幕来展示交通数据的可视化图形,例如 综合交通运行态势展示、交通...
- **工具栏**:集成了一系列数据挖掘工具,包括ETL、数据分析和模型构建等。Clementine提供了六大类工具: - 源工具(Sources):支持数据库、平面文件、Excel等多种数据源接入。 - 记录操作(RecordOps)和字段...
2. 数据仓库工具:数据仓库工具是数据挖掘的重要组件,包括ETL工具、建模工具、前端展现工具、OLAP Server和数据库等。例如Ascential DataStage、IBM warehouse MANAGER、Informatica公司的PowerCenter、Cognos公司...
- **BI各部分主流软件**:包括数据集成工具(如ETL工具)、数据仓库、数据可视化、报告和仪表板等。这些组件共同构建了完整的BI解决方案。 1. BI当前现状: - **发展现状**:BI市场正在快速增长,随着大数据、...
3. ETL工具:ETL是数据抽取(Extract)、转换(Transform)、加载(Load)的缩写,它用于从源系统提取数据,经过清洗和转换后导入目标系统。ETL工具是数据仓库、数据湖等大数据处理系统中的关键技术之一。 4. 傅立...
数据仓库系统的生命周期包括规范与需求分析、用户评价与反馈、系统安装与测试、数据填充与调试、中间件开发、ETL处理、数据库与元数据体系结构设计、系统维护、系统上线、应用分析和维护等阶段,呈螺旋式上升发展。...
- 数据采集:ETL工具如Informatica, Talend - 数据存储:数据仓库如Oracle, Teradata - 数据分析:SQL Server Analysis Services, Oracle OLAP - 数据可视化:Tableau, QlikView - 报表和仪表板:Microsoft Power BI...