针对不同的需求,主要是从转换规则的复杂度和数据量大小来看。ETL分为:
1、交互式运行环境,你可以指定数据源、目标数据,指定规则,立马ETL。这种交互式的操作无疑非常方便,但是只能适合小数据量和复杂度不高的ETL过程,因为一旦规则复杂了,可能需要语言级的描述,不能简简单单拖拖拽拽就可以的。还有数据量的问题,这种交互式必然建立在解释型语言基础上,另外他的灵活性必然要牺牲一定的性能为代价。所以如果要处理海量数据的话,每次读取一条记录,每次对规则进行解释执行,每次在写入一条记录,这对性能影响是非常大的。
2、专门编码型的,它提供了一个基于某种语言的程序框架,你可以不必将编程精力放在一些周边的功能上,例如读文件功能、写数据库的功能,而将精力主要放在规则的实现上面。这种近似手工代码的性能肯定是没话说,除非你的编程技巧不过关(这也是不可忽视的因素之一)。对于处理大数据量,处理复杂转换逻辑,这种方式的ETL实现是非常直观的。
3、代码生成器型的,它就像是一个ETL代码生成器,提供简单的图形化界面操作,让你拖拖拽拽将转换规则都设定好,其实他的后台都是生成基于某种语言的程序,要运行这个ETL过程,必须要编译才行。Datastage就是类似这样的产品,设计好的job必须要编译,这避免了每次转换的解释执行,但是不知道它生成的中间语言是什么。以前我设计的ETL工具大挪移其实也是归属于这一类,它提供了界面让用户编写规则,最后生成C++语言,编译后即可运行。这类工具的特点就是要在界面上下狠功夫,必须让用户轻松定义一个ETL过程,提供丰富的插件来完成读、写和转换函数。大挪移在这方面就太弱了,规则必须手写,而且要写成标准c++语法,这未免还是有点难为最终用户了,还不如做成一个专业编码型的产品呢。另外一点,这类工具必须提供面向专家应用的功能,因为它不可能考虑到所有的转换规则和所有的读写,一方面提供插件接口来让第三方编写特定的插件,另一方面还有提供特定语言来实现高级功能。例如Datastage提供一种类Basic的语言,不过他的Job的脚本化实现好像就做的不太好,只能手工绘制job,而不能编程实现Job。
4、最后还有一种类型叫做数据集线器,顾名思义,他就是像Hub一样地工作。将这种类型分出来和上面几种分类在标准上有所差异,上面三种更多指ETL实现的方法,此类主要从数据处理角度。目前有一些产品属于EAI(Enterprise Application Integration),它的数据集成主要是一种准实时性。所以这类产品就像Hub一样,不断接收各种异构数据源来的数据,经过处理,在实施发送到不同的目标数据中去。
虽然,这些类看似各又千秋,特别在BI项目中,面对海量数据的ETL时,中间两种的选择就开始了,在选择过程中,必须要考虑到开发效率、维护方面、性能、学习曲线、人员技能等各方面因素,当然还有最重要也是最现实的因素就是客户的意象。
分享到:
相关推荐
"主流ETL工具测试比较" ETL(Extract、Transform、Load)是一种常用的数据integration工具,用于从多个数据源中提取数据,转换为一种格式,然后加载到目标系统中。在实际应用中,选择合适的ETL工具是非常重要的。...
在这个“数据挖掘课件(ETL工具)”中,我们重点关注的是数据预处理的重要环节——ETL(Extract, Transform, Load),以及在数据挖掘中扮演关键角色的朱建秋教授的相关研究。 ETL是数据仓库系统的核心组成部分,它...
其中,“达梦ETL批量流程向导”作为一款高效实用的数据集成工具,在数据抽取、转换和加载过程中扮演着重要角色。本文将详细介绍该工具的操作流程,并深入探讨其在实际工作中的应用场景。 #### 二、达梦ETL批量流程...
### 数据仓库ETL工具箱知识点概述 #### 一、引言 《数据仓库ETL工具箱》是一本经典的中文版书籍,旨在为读者提供全面的数据仓库构建指南,特别是聚焦于提取(Extract)、转换(Transform)、加载(Load)这一流程的...
### 数据仓库ETL工具箱知识点概述 #### 一、引言 《数据仓库ETL工具箱》是一本全面介绍数据仓库构建过程中Extract-Transform-Load(ETL)流程的著作。该书分为四个主要部分,从需求分析到具体的数据处理方法,再到...
《数据仓库ETL工具箱中文版(Data Warehouse ETL Toolkit)》是一本专注于BI(商业智能)和DW(数据仓库)项目的数据提取、转换和加载(ETL)过程的专著。本书属于Kimball数据仓库系列,该系列以其深入浅出的方法和...
**Kettle**是一款强大的开源ETL工具,广泛用于数据集成项目。Kettle提供了两个主要的组件:Spoon 和 Kitchen,分别用于创建和执行数据转换任务。 1. **Spoon**:图形用户界面,支持可视化编辑转换和任务。用户可以...
- 本章探讨了元数据的分类、管理方式及其在ETL过程中的作用。 - 提供了构建元数据仓库的步骤和工具选择建议。 - **第十章:职责与分工** - 在大型项目中,明确团队成员的角色和责任对于项目的成功至关重要。 -...
ETL的实现方法多样,包括使用ETL工具(如 Informatica, Talend, Microsoft SSIS等),SQL编程,或两者结合。ETL工具可快速构建工程但灵活性较低,SQL方式灵活但编码复杂,结合两者则能平衡效率和灵活性。 在实际...
通过Hadoop的API或命令行工具,Shell脚本可以启动MapReduce作业,进一步处理数据,例如进行聚合、分类、关联分析等。 此外,Shell脚本还可以实现流程控制,如循环、条件判断,使得ETL过程更加灵活。通过编写脚本,...
1. 借助 ETL 工具,如 Oracle 的 OWB、SQL server 2000 的 DTS、SQL Server2005 的 SSIS 服务、informatic 等。 2. SQL 方式实现。 3. ETL 工具和 SQL 相结合。 ETL 设计的好坏直接关接到 BI 项目的成败。只有不断...
- **数据概况分析**:通过数据分析工具来评估源系统的数据质量和结构特性。 **知识点6: 数据探索阶段的意义** 数据探索阶段的主要目的包括但不限于: - **理解源系统**:深入了解源系统的结构和数据质量,为后续...
在Oracle外部表的情况下,数据已经存在于文件系统中,ETL工具可以读取这些文件并根据需要进行预处理。 3. **数据转换(Transform)**:在Oracle外部表中,转换通常通过ACCESS PARAMETERS在DDL语句中定义的规则进行...
SSIS不仅仅是ETL工具,它集成了多种异类数据源,可以在同一处理流程中处理,同时支持高性能的数据移动和大规模数据的处理与转换。SSIS还集成了数据清洗、数据挖掘以及报表和在线分析系统,作为整合BI平台的“粘合剂...
综上所述,开源BI工具在各个领域都有广泛应用,无论是ETL工具、报表工具还是OLAP工具,都有成熟的开源方案可供选择。这些工具不仅能满足企业对数据处理的基本需求,还能够通过不断的迭代升级来适应不断变化的技术...
SSIS(SQL Server Integration Services)是微软提供的一款强大的数据集成工具,主要用于数据抽取(Extract)、转换(Transform)和加载(Load)过程,也就是我们常说的ETL。在"用SSIS做的销售事例的ETL"项目中,你...
一种是借助 ETL 工具(如 Oracle 的 OWB、SQL Server 2000 的 DTS、SQL Server 2005 的 SSIS 服务、Informatic 等)实现,一种是 SQL 方式实现,另外一种是 ETL 工具和 SQL 相结合。前两种方法各有各的优缺点,借助...
作者可能会讨论如何选择合适的ETL工具,如Informatica、Talend、SSIS等,以及如何高效地处理大数据量的ETL挑战。书中可能还会介绍最佳实践,帮助读者避免常见的ETL陷阱,提高数据仓库的性能和数据质量。 通过阅读这...
- 分类(Classification):预测分类标签。 - 回归(Regression):预测连续值。 - 聚类(Clustering):自动分组相似对象。 - 关联规则学习(Association Rule Learning):发现项目间的联系。 - 异常检测(Anomaly ...