ETL是数据仓库中的非常重要的一环,是承前启后的必要的一步。ETL负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。下面给大家介绍一下什么是ETL以及ETL常用的三种工具(Datastage,Informatica,Kettle)!
1.ETL是什么?
ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。(数据仓库结构)通俗的说法就是从数据源抽取数据出来,进行清洗加工转换,然后加载到定义好的数据仓库模型中去。目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。ETL是BI项目重要的一个环节,其设计的好坏影响生成数据的质量,直接关系到BI项目的成败。
2.为什么要用ETL工具?
▶ 当数据来自不同的物理主机,这时候如使用SQL语句去处理的话,就显得比较吃力且开销也更大。
▶ 数据来源可以是各种不同的数据库或者文件,这时候需要先把他们整理成统一的格式后才可以进行数据的处理,这一过程用代码实现显然有些麻烦。
▶ 在数据库中我们当然可以使用存储过程去处理数据,但是处理海量数据的时候存储过程显然比较吃力,而且会占用较多数据库的资源,这可能会导致数据资源不足,进而影响数据库的性能。
上面所说的问题,我们用ETL工具就可以解决。它的优点有:
● 支持多种异构数据源的连接。(部分)
● 图形化的界面操作十分方便。
● 处理海量数据速度快、流程更清晰等。
3.ETL工具介绍
Informatica和Datastage占据国内市场的大部分的份额。
4.ETL工具差异
Kettle,Datastage,Informatica三个ETL工具的特点和差异介绍:
操作
都是属于比较简单易用,主要是开发人员对于工具的熟练程度。Informatica有四个开发管理组件,开发的时候我们需要打开其中三个进行开发,Informatica没有ctrl+z的功能,如果对job作了改变之后,想要撤销,返回到改变前是不可能的。相比Kettle跟Datastage在测试调试的时候不太方便。Datastage全部的操作在同一个界面中,不用切换界面,能够看到数据的来源,整个job的情况,在找bug的时候会比Informatica方便。Kettle介于两者之间。
部署
Kettle只需要JVM环境,Informatica需要服务器和客户端安装,而Datastage的部署比较耗费时间,有一点难度。
数据处理的速度
大数据量下Informatica 与Datastage的处理速度是比较快的,比较稳定。Kettle的处理速度相比之下稍慢。
服务
Informatica与Datastage有很好的商业化的技术支持,而Kettle则没有。商业软件的售后服务上会比免费的开源软件好很多。
风险
风险与成本成反比,也与技术能力成正比。
扩展
Kettle的扩展性无疑是最好,因为是开源代码,可以自己开发拓展它的功能,而Informatica和Datastage由于是商业软件,基本上没有。
Job的监控
三者都有监控和日志工具。在数据的监控上,个人觉得Datastage的实时监控做的更加好,可以直观看到数据抽取的情况,运行到哪一个控件上。这对于调优来说,我们可以更快的定位到处理速度太慢的控件并进行处理,而informatica也有相应的功能,但是并不直观,需要通过两个界面的对比才可以定位到处理速度缓慢的控件。有时候还需要通过一些方法去查找。
网上的技术文档
Datastage < Informatica < kettle,相对来说,Datastage跟Informatica在遇到问题去网上找到解决方法的概率比较低,kettle则比较多。
5.项目经验分享
多张表同步、重复的操作:在项目中,很多时候我们都需要同步生产库的表到数据仓库中。一百多张表同步、重复的操作,对开发人员来说是细心和耐心的考验。在这种情况下,开发人员最喜欢的工具无疑是kettle,多个表的同步都可以用同一个程序运行,不必每一张表的同步都建一个程序,而informatica虽然有提供工具去批量设计,但还是需要生成多个程序进行一一配置,而datastage在这方面就显得比较笨拙。
增量表:在做增量表的时候,每次运行后都需要把将最新的一条数据操作时间存到数据库中,下次运行我们就取大于这个时间的数据。Kettle有控件可以直接读取数据库中的这个时间置为变量;对于没有类似功能控件的informatica,我们的做法是先读取的数据库中的这个时间存到文件,然后主程序运行的时候指定这个文件为参数文件,也可以得到同样的效果。
有一句话说的好:世上没有最好的,只有适合的!每一款ETL工具都有它的优缺点,我们需要根据实际项目,权衡利弊选择适合的ETL工具,合适的就是最好的。当下越来越多公司及其客户更重视最新的数据(实时数据)展现,传统的ETL工具可能满足不了这样的需求,而实时流数据处理和云计算技术更符合。所以我们也需要与时俱进,学习大数据时代下的ETL工具。
相关推荐
本篇文章将对几种主流的ETL工具进行深入的对比分析,以帮助读者了解它们的特点、优势及适用场景。 1. **Informatica** Informatica是一款功能强大的ETL工具,以其用户友好的界面和丰富的数据处理能力而闻名。它...
本篇将对比分析三款主流的ETL工具——Informatica、Datastage和BeeDI,探讨它们在市场占有率、服务支持、平台兼容性、数据源与目标数据库支持、数据抽取、转换和装载功能等方面的差异。 首先,从市场角度来看,...
ETL是Extract(抽取)、Transform(转换)和Load(加载)三个英文单词首字母的缩写,它是一种将来自不同源的数据提取出来,经过清洗、转换、集成后统一加载到目标数据库的过程。在数据仓库和大数据处理领域中扮演着...
- **商业ETL工具**:如Informatica PowerCenter、IBM DataStage、Oracle Warehouse Builder (OWB)、Microsoft SQL Server Integration Services (SSIS) 等。 - **开源ETL工具**:如Pentaho Kettle(现更名为Hitachi ...
【DataStage与Informatica PowerCenter对比】 DataStage与Informatica PowerCenter都是业界广泛采用的数据集成工具,主要用于构建和维护数据仓库和数据集市。两者在功能、特性以及使用体验上都有各自的特点。 1. *...
本文件“ETL工具对比分析search.rar”提供了对当前市场上主流ETL工具的详细比较,同时也涵盖了报表工具和元数据工具的优劣分析。以下是对这些工具的深入探讨: 1. ETL工具: - **Cognos Data Movement**:IBM的...
本资源包提供了全面的ETL学习材料,涵盖了多个主流ETL工具,如Kettle、Informatica和DataStage。 1. **Kettle**:Kettle,又称Pentaho Data Integration (PDI),是一个开源的ETL工具,以其图形化的界面和强大的脚本...
1. ETL的定义:是数据抽取(Extract...2. 常用的ETL工具:主要有三大主流工具,分别是Ascential公司的Datastage、Informatica公司的Powercenter、NCR Teradata公司的ETL Automation.还有其他开源工具,如PDI(Kettle)等。
对当前几大主流etl工具,informatica powercenter,IBM datastage,Business Objects,Cognos,Insight,IBM MetaData Workbench + Metadata server,石竹 MetaOne进行横向的分析比较.
- **商业工具**:如Informatica、 Talend、IBM DataStage等,它们提供了更高级的功能,如自动数据质量检查、复杂的数据映射和调度。 3. **数据仓库概念**: - **维度建模**:数据仓库通常基于维度模型设计,如...
3. **ETL工具**:详细解析各种流行的ETL工具,如Informatica、Talend、IBM DataStage等,介绍它们的功能特性、使用场景和操作方法。此外,可能还会涉及开源ETL工具,如Kettle和Apache Nifi。 4. **数据抽取**:讲解...
本文将深入探讨业界广泛使用的三种ETL工具——Informatica,Ascential DataStage,以及Sagent DataFlow,并对比它们的关键功能点,为读者提供一个全面而详细的视角。 #### 平台支持与兼容性 1. **Informatica**:...
本资料包“数据仓库ETL工具箱”可能包含了关于ETL流程、最佳实践以及常用工具的详细信息。 1. **抽取(Extract)**:这是ETL的第一步,涉及从各种源系统(如数据库、CSV文件、API等)中获取数据。这个阶段的重点...
4. Informatica:另一款知名的商业ETL工具,其价格低于DataStage,但在处理速度和稳定性方面与之相当。Informatica支持分布式部署和实时处理,但实时效率不高,且国内技术支持相对有限。 5. DataPipeline:国内的...
在ETL工具的选型中,有三大主流产品值得考虑:Ascential公司的Datastage、Informatica公司的Powercenter,以及NCR Teradata公司的ETL Automation。这三者都有各自的优缺点,适合不同的项目需求。 Datastage和Power...
本文将详细介绍两类主要的ETL工具:传统ETL工具和新型ETL工具,以及相关的数据同步集成工具和大数据计算引擎。 一、传统ETL工具 1. IBM WebSphere DataStage DataStage是一款强大的数据整合工具,它提供了图形化的...
Informatica PowerCenter是由Informatica公司开发的一款强大的ETL工具,广泛应用于企业级数据集成项目中。该工具支持多种数据源,并提供了丰富的数据转换功能,能够有效地处理大量复杂的数据集成任务。 **2.2 ...
本文将基于商业应用角度,对比两款市场上的主流ETL工具——DataStage与Informatica,旨在为读者提供全面的决策依据。 #### 二、市场定位与概述 **DataStage**由Ascential公司开发,后被IBM收购,是市场上专业级ETL...
ETL工具介绍及对比 ETL(Extract-Transform-Load)是一种非常重要的数据integration技术,用于将数据从不同的源系统中提取、转换和加载到目标系统中。今天,我们将介绍一些常用的ETL工具,包括DataX、Datastage、...