面向数据集成的ETL技术研究

合集下载

ETL数据集成

ETL数据集成

ETL数据集成ETL(Extract, Transform, and Load)是一种常用的数据集成方式,用于从不同的数据源中提取数据,经过转换处理后,加载至目标数据库或数据仓库中。

ETL数据集成在数据管理和分析过程中起着至关重要的作用,本文将探讨ETL数据集成的工作流程、常用工具和技术,并介绍其在企业中的应用。

一、ETL数据集成的工作流程ETL数据集成的工作流程主要包括三个阶段:提取(Extract)、转换(Transform)和加载(Load)。

1. 提取(Extract)在数据集成的第一阶段,数据从源系统中提取出来。

源系统可以是各种类型的数据库、文件系统、web服务等。

提取的目的是将数据从源系统中移动到中间过渡区域,一般称为“抽取区域”或“数据集市”。

数据提取可以通过数据抓取、日志读取、接口调用等方式进行。

2. 转换(Transform)在数据提取到抽取区域后,数据需要经过转换处理。

转换的目的是将源系统中的数据进行清洗、整合、规范化等操作,以满足目标系统的需求。

转换过程中可能包括数据清洗、数据变换、数据合并、数据计算等步骤。

数据清洗主要是修复、纠正或删除数据中的错误、不完整或不一致的部分。

数据变换可以通过数据规范化、数据格式转换、数据加密等方式进行。

数据合并则是将来自不同源系统的数据进行合并,构建一个一致的数据集。

数据计算可以基于转换后的数据进行各种计算操作。

3. 加载(Load)转换后的数据将被加载至目标数据库或数据仓库中。

加载操作是将清洗和转换后的数据写入目标系统的过程。

这个过程可能会有一些数据验证、数据过滤和数据映射的步骤,以保证加载的数据符合目标系统的要求。

二、常用的ETL工具和技术ETL数据集成过程中使用的工具和技术有很多,以下是一些常见和流行的ETL工具和技术:1. 大数据集成工具随着大数据技术的发展,一些专门用于大数据ETL的工具也相继出现,如Apache Kafka、Apache Spark等。

etl的方法

etl的方法

etl的方法ETL的方法ETL(Extract-Transform-Load)是一种常用的数据处理方法,它用于从源系统中提取数据,经过转换处理后,加载到目标系统中。

在数据仓库和数据集成中,ETL起着至关重要的作用。

本文将介绍ETL 的方法,并重点讨论其三个步骤:数据提取、数据转换和数据加载。

一、数据提取数据提取是ETL的第一步,目的是从源系统中获取所需的数据。

在数据提取过程中,需要考虑以下几个方面:1. 数据源:数据源可以是各种类型的数据库、文件、API等,根据实际情况选择合适的数据源。

在选择数据源时,要考虑数据的可靠性、完整性和实时性。

2. 提取方法:根据数据源的类型和结构,选择合适的提取方法。

常用的提取方法包括全量提取和增量提取。

全量提取是指每次都提取全部数据,适用于数据量较小或者需要全量数据的情况;增量提取是指只提取更新的数据,适用于数据量较大或者需要实时数据的情况。

3. 数据抽取:根据需求,选择合适的数据抽取方式。

常见的数据抽取方式包括批量抽取和实时抽取。

批量抽取是指按照一定的时间间隔或者触发条件,批量提取数据;实时抽取是指在数据发生变化时立即提取数据。

根据实际情况选择合适的数据抽取方式。

二、数据转换数据转换是ETL的第二步,目的是对提取的数据进行清洗、整合和转换,以满足目标系统的需求。

在数据转换过程中,需要考虑以下几个方面:1. 数据清洗:对提取的数据进行清洗,去除重复数据、空值和错误数据,保证数据的质量和准确性。

2. 数据整合:对多个数据源提取的数据进行整合,统一数据格式和结构,方便后续的处理和分析。

3. 数据转换:根据目标系统的需求,对数据进行转换。

常见的数据转换操作包括数据格式转换、数据字段映射、数据计算和数据合并等。

三、数据加载数据加载是ETL的最后一步,目的是将经过转换处理后的数据加载到目标系统中。

在数据加载过程中,需要考虑以下几个方面:1. 目标系统:选择合适的目标系统,将数据加载到目标系统中。

面向多类型数据源的数据仓库构建及ETL关键技术的研究的开题报告

面向多类型数据源的数据仓库构建及ETL关键技术的研究的开题报告

面向多类型数据源的数据仓库构建及ETL关键技术的研究的开题报告摘要:随着数据技术的不断发展,企业内部和外部数据源的数量不断增加,数据类型也越来越复杂,这对现有的数据仓库构建和数据ETL技术带来了巨大的挑战。

本论文将研究面向多类型数据源的数据仓库构建及ETL关键技术。

本论文的研究方法包括文献综述和实证分析。

在文献综述方面,本论文将通过查阅相关的技术文献,探讨多类型数据源的数据仓库构建和数据ETL技术的发展历程和最新进展。

在实证分析方面,本论文将选取几个具有代表性的企业作为研究对象,通过对它们的数据仓库构建和数据ETL技术的实际应用和应用效果进行分析和比较,来进一步探讨多类型数据源的数据仓库构建和数据ETL技术的关键问题和解决方案。

关键词:多类型数据源;数据仓库;ETL技术;研究方法;实证分析1. 研究背景近年来,伴随着大数据时代的来临,企业内部和外部的数据源呈现爆炸式增长。

这些数据源既包括结构化数据(如关系数据库中的数据),也包括半结构化数据(如XML和JSON等数据格式)、非结构化数据(如文本、图片、视频等数据格式)。

传统的数据仓库构建和ETL技术已经无法满足复杂多样的数据类型和数据量的需求。

因此,如何构建面向多类型数据源的数据仓库和应用相应的ETL技术成为了一个热门的研究方向。

2. 研究内容和目的本论文将主要研究面向多类型数据源的数据仓库构建和应用相应的ETL技术。

具体的研究内容包括:1)探讨多类型数据源的数据仓库构建的最新进展和相关理论。

2)分析多类型数据源ETL技术的实现原理和关键技术。

3)通过实证分析来比较不同企业应用多类型数据源的数据仓库构建和ETL技术的情况,来寻找其中的优秀方案。

本论文的目的是为了提出基于多类型数据源的数据仓库构建和ETL技术的解决方案,以及实施这些方案的实践指导。

3. 研究方法和技术路线本论文的研究方法包括文献综述和实证分析。

在文献综述方面,本论文将通过查阅相关的技术文献(如ACM、IEEE、ISI、SCI等数据库),探讨面向多类型数据源的数据仓库构建和ETL技术的发展历程和最新进展。

深入了解当前ETL中用到的一些基本技术

深入了解当前ETL中用到的一些基本技术

【赛迪网-IT技术报道】前言:数据集成是把不同来源、格式和特点的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享,是企业商务智能、数据仓库系统的重要组成部分。

ETL是企业数据集成的饕 饩龇桨浮N恼麓覧TL的概念出发,简要分析了当前ETL中用到的一些基本技术,为ETL系统的开发和ETL技术的应用提供一些参考。

1.ETL简介随着企业信息化建设的发展,巨大的投资为企业建立了众多的信息系统,以帮助企业进行内外部业务的处理和管理工作。

但是随着信息系统的增加,各自孤立工作的信息系统将会造成大量的冗余数据和业务人员的重复劳动。

企业应用集成(EAI,Enterprise Application Integration)应运而生。

EAI通过建立底层数据交换平台来联系横贯整个企业的异构系统、应用、数据源等,完成在企业内部的ERP、CRM、SCM、数据库、数据仓库,以及其它重要的内部系统之间无缝地共享和交换数据的需要。

数据集成是企业应用集成的重要环节,企业实现数据集成,可以使更多的人更充分地使用已有数据资源,减少资料收集、数据采集等重复劳动和相应费用。

但是,在实施数据集成的过程中,由于不同用户提供的数据可能来自不同的途径,其数据内容、数据格式和数据质量千差万别,有时甚至会遇到数据格式不能转换或数据转换格式后丢失信息等棘手问题,严重阻碍了数据在各部门和各应用系统中的流动与共享。

因此,如何对数据进行有效的集成管理已成为增强企业商业竞争力的必然选择。

ETL是实现数据集成的主要技术。

ETL中三个字母分别代表的是Extract、Transform、Load,即抽取、转换、加载。

(1)数据抽取:从源数据源系统抽取目的数据源系统需要的数据;(2)数据转换:将从源数据源获取的数据按照业务需求,转换成目的数据源要求的形式,并对错误、不一致的数据进行清洗和加工。

(3)数据加载:将转换后的数据装载到目的数据源。

ETL原本是作为构建数据仓库的一个环节,负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。

大数据集成与分析技术研究

大数据集成与分析技术研究

大数据集成与分析技术研究随着互联网和信息技术的快速发展,大数据已经成为了当今最重要的竞争力和核心资源之一。

而大数据集成和分析技术则是能够帮助企业和机构挖掘出更多价值的关键技术之一。

大数据集成技术是指将来自多个数据源的不同数据进行整合,以形成一个统一且完整的数据集合。

随着企业和机构使用各种各样不同的技术和应用,数据也变得越来越多样化和复杂化。

而数据集成技术则能够将这些分散的数据集成起来,从而提高数据的价值和利用率。

同时,对于企业和机构来说,数据集成技术还能够帮助其快速发现问题、优化决策,并提高效率。

目前,数据集成技术可以使用多种不同的方法。

其中,基于ETL工具的数据集成方法是最常见的。

ETL全称为Extract/Transform/Load,即数据抽取、数据转换和数据加工。

这种方法可以确保从不同系统中提取数据并进行必要的转换,以便可以在一个数据存储库或数据仓库中进行统一和一致的分析。

除了数据集成技术外,数据分析技术也是大数据处理中非常关键的一环。

数据分析技术是指使用有效的方法和工具来研究和处理数据,以提供有用的信息和洞见。

数据分析技术可以帮助企业和机构从海量的数据中快速挖掘出有价值的信息,从而做出更明智的决策、提高效率和优化业务。

目前,数据分析技术可以分为多个不同的领域。

其中,数据挖掘技术是最为常见和成熟的一种。

数据挖掘是指从大量的数据中寻找出有用的模式和关系,并提供相关的信息支持和建议。

数据可视化技术也是数据分析中的重要领域。

数据可视化技术可以提供直观、易于理解的信息展现方式,从而帮助用户更好地理解和利用数据。

除了数据挖掘和数据可视化技术,机器学习技术也是当前在数据分析领域中非常热门的技术之一。

机器学习是指一种基于数据分析的计算机算法和模型,可以让计算机根据大量的数据来预测或决策。

机器学习技术可以让计算机不断优化和更新自身的模型,以更好地处理数据。

总的来说,大数据集成和分析技术是当今企业和机构中非常重要的技术之一。

etl技术原理

etl技术原理

etl技术原理ETL(抽取、转换、加载)是一种数据集成的过程,常用于将数据从一个或多个来源系统抽取、进行必要的转换,然后加载到目标系统中。

以下是ETL 技术的一般原理:* 抽取(Extraction):* 数据源连接:连接到一个或多个数据源,这可以是关系型数据库、文件、API 等。

* 数据抽取:从源系统中抽取需要的数据。

这可以通过全量抽取或增量抽取来完成,取决于数据更新的频率。

* 转换(Transformation):* 数据清洗:清除源数据中的错误、缺失或重复的值。

这可能涉及到纠正数据格式、处理异常值等。

* 数据转换:对数据进行结构变换、格式变换、字段计算等操作,以满足目标系统的要求。

* 数据合并:将来自不同源的数据合并成一个一致的整体。

* 加载(Loading):* 目标模式设计:设计目标系统的数据模型,确定如何在目标中存储数据。

* 数据加载:将经过抽取和转换的数据加载到目标系统中。

这可以是批处理方式,也可以是实时流处理。

* 增强性操作:* 错误处理:处理在ETL 过程中发现的错误,可能包括日志记录、错误重试机制等。

* 性能优化:考虑对大规模数据集进行处理的性能优化措施,如并行处理、索引优化等。

* 调度和监控:* 调度任务:安排ETL 任务的执行时间,确保在适当的时候运行。

* 监控任务:跟踪ETL 过程的进度,记录日志,处理错误并通知相关人员。

常见的ETL 工具包括Apache NiFi、Talend、Informatica、Microsoft SSIS 等,它们提供图形化界面和各种预建的转换和连接器,简化了ETL 过程的实现。

ETL 技术在数据仓库、数据湖等场景中广泛应用,帮助组织有效地集成和处理大量数据。

数据集市化etl工具使用说明书

数据集市化etl工具使用说明书

数据集市化etl工具使用说明书数据集市化ETL工具使用说明书一、概述数据集市化ETL工具是一种用于数据集市建设和数据集市化过程中的数据集成、转换和加载的工具。

它可以帮助用户快速、高效地将不同数据源中的数据进行整合、清洗和转换,最终将数据加载到数据集市中,为数据分析和决策提供支持。

二、安装和配置1. 安装:将数据集市化ETL工具的安装包下载到本地,双击运行安装程序,按照提示完成安装过程。

2. 配置:在安装完成后,打开工具,进入配置界面,根据实际需求进行相应配置,包括数据库连接配置、数据源配置等。

三、数据源配置1. 新建数据源:在工具中选择“数据源管理”,点击“新建数据源”按钮,根据实际情况填写数据源名称、类型、地址、端口等信息,并进行测试连接。

2. 编辑数据源:在数据源管理界面,选中需要编辑的数据源,点击“编辑”按钮,对数据源进行相应的修改和配置。

3. 删除数据源:在数据源管理界面,选中需要删除的数据源,点击“删除”按钮,确认删除操作。

四、数据集成1. 新建数据集成任务:在工具中选择“数据集成任务管理”,点击“新建数据集成任务”按钮,根据实际需求填写任务名称、描述等信息。

2. 配置数据源:在数据集成任务管理界面,选择需要配置的数据集成任务,点击“配置数据源”按钮,选择源数据源和目标数据源,并进行字段映射和数据转换等配置。

3. 运行数据集成任务:在数据集成任务管理界面,选择需要运行的数据集成任务,点击“运行”按钮,等待任务执行完成。

五、数据转换1. 数据字段映射:在数据集成任务的配置过程中,可以根据需要进行源字段和目标字段的映射,确保数据能够正确转换和加载。

2. 数据清洗:在数据集成任务的配置过程中,可以进行数据清洗操作,包括数据去重、数据过滤、数据格式化等,以确保数据的质量和准确性。

3. 数据转换:在数据集成任务的配置过程中,可以进行数据转换操作,包括数据合并、数据拆分、数据计算等,以满足不同的业务需求。

数据处理与ETL技术

数据处理与ETL技术

数据处理与ETL技术数据处理是指对原始数据进行整理、清洗、转换和计算的过程,以便能够更好地进行分析和应用。

而ETL技术(Extract、Transform、Load)则是一种用于从不同数据源中提取数据、转换数据格式以及将数据加载到目标系统的一种处理方法。

本文将介绍数据处理的基本概念、ETL技术的原理和应用场景,并探讨其对企业决策和业务发展的重要性。

一、数据处理的基本概念数据处理是指将原始数据转化为有用信息的过程,通过对数据的整理和清洗,提高数据的质量和准确性,并将数据转换成适合分析和应用的形式。

数据处理的过程包括数据的提取、转换和加载等环节,其中ETL技术起着关键的作用。

二、ETL技术的原理1. 数据提取(Data Extraction):ETL技术通过连接各种数据源,如数据库、文件等,将需要的数据提取出来。

数据提取可以通过SQL查询、文件读取等方式进行。

2. 数据转换(Data Transformation):在数据提取之后,需要对数据进行转换,使其符合目标系统的要求。

数据转换可以包括数据清洗、数据合并、数据计算、数据格式转换等操作。

3. 数据加载(Data Loading):数据转换完成后,将数据加载到目标系统中,使之能够被业务系统和分析工具所使用。

数据加载可以分为全量加载和增量加载两种方式,根据需求选择合适的加载方式。

三、ETL技术的应用场景ETL技术在企业的数据处理和分析中具有广泛的应用场景,以下列举几个典型的应用场景:1. 数据仓库建设:ETL技术可以用于从不同的数据源中将数据提取、转换和加载到数据仓库中,满足企业对数据集成和决策分析的需求。

2. 数据清洗和预处理:企业内部的数据通常存在一定的不完整和不准确性,ETL技术可以帮助企业进行数据清洗和预处理,提高数据质量和准确性。

3. 数据迁移和同步:当企业需要将数据从一个系统迁移到另一个系统时,ETL技术可以帮助实现数据的迁移和同步,确保数据的完整性和一致性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向数据集成的ETL技术研究时间:2009-12-18 13:52来源:作者:点击: 34次数据集成是把不同来源、格式和特点的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享,是企业商务智能、数据仓库系统的重要组成部分。

随着单位information化建设的扩展,巨大的投入资金为单位建立了众多的informationwindows,以帮助单位进行内外部业务的处理和管理工作。

但是随着informationwindows的增加,各自孤立工作的informationwindows将会造成大量的冗余数据和业务人员的重复劳动。

单位应用集成(EAI Picture EXP操作系统lorer,Enterprise Application Integration)应运而生。

EAI Picture EXP 操作系统lorer通过建立底层数据交换平台来联系横贯整个单位的异构windows、应用、数据源等,完成在单位内部的ERP、CRM、SCM、数据库、数据仓库,以及其它重要的内部windows之间无缝地共享和交换数据的需要。

数据集成是单位应用集成的重要环节,单位实现数据集成,可以使更多的人更充分地试用已有数据资源,减少资料收集、数据采集等重复劳动和相应费用。

但是,在实施数据集成的过程中,由于不同客户提供的数据可能来自不同的途径,其数据内容、数据格式和数据质量千差万别,有时甚至会遇到数据格式不能转换或数据转换格式后丢掉information等棘手问题,严重阻碍了数据在各部门和各应用windows中的流动与共享。

因此,如何对数据进行有效的集成管理已成了增强单位商业竞争力的必然选自。

ETL是实现数据集成的重要技术。

ETL中三个字母分别代表的是Extract、Transform、Load,即抽取、转换、加载。

(1)数据抽取:从源数据源windows抽取目的数据源windows需要的数据;(2)数据转换:将从源数据源获取的数据按照业务需求,转换成目的数据源要求的形式,并对错误、不一致的数据进行清洗和加工。

(3)数据加载:将转换后的数据装载到目的数据源。

ETL原本是操作为构建数据仓库的一个环节,负责将分布的、异构数据源中的数据如关系数据、平面数据文档等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成了联机分析处理、数据挖掘的入门。

现在也越来越多地将ETL应用于一般informationwindows中数据的迁移、交换和同步。

一个简单的ETL体系结构如图1.1所示。

2.ETL中的关键技术ETL过程中的重要环节就是数据抽取、数据转换和加工、数据装载。

为了实现这些性能,各个ETL工具一般会进行一部分性能上的扩充,例如工作流、调度引擎、规则引擎、脚本支持、统计information等。

2.1 数据抽取数据抽取是从数据源中抽取数据的过程。

实际应用中,数据源较多采用的是关系数据库。

从数据库中抽取数据一般有以下几种办法。

(1)全量抽取全量抽取类似于数据迁移或数据拷贝,它将数据源中的表或视图的数据原封不动的从数据库中抽取出来,并转换成自己的ETL工具可以辨别的格式。

全量抽取比较简单。

(2)增量抽取增量抽取只抽取自上次抽取以来数据库中要抽取的表中新增或纠正的数据。

在ETL试用过程中。

增量抽取较全量抽取应用更广。

如何捕获变化的数据是增量抽取的关键。

对捕获办法一般有两点要求:准确性,能够将业务windows中的变化数据按一定的频率准确地捕获到;性能,不能对业务windows造成太大的压力,影响现有业务。

目前增量数据抽取中常用的捕获变化数据的办法有: a.触发器:在要抽取的表上建立需要的触发器,一般要建立插入、纠正、删除三个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个临时表,抽取线程从临时表中抽取数据,临时表中抽取过的数据被标记或删除。

触发器办法的优点是数据抽取的性能较高,缺点是要求业务表建立触发器,对业务windows有一定的影响。

b.时间戳:它是一种基于快照比较的变化数据捕获办法,在源表上增加一个时间戳字段,windows中更新纠正表数据的时候,同时纠正时间戳字段的值。

当进行数据抽取时,通过比较windows时间与时间戳字段的值来决定抽取哪些数据。

有的数据库的时间戳支持自动更新,即表的其它字段的数据发生改变时,自动更新时间戳字段的值。

有的数据库不支持时间戳的自动更新,这就要求业务windows在更新业务数据时,手工更新时间戳字段。

同触发器办法一样,时间戳办法的性能也比较好,数据抽取相对清楚简单,但对业务windows也有很大的倾入性(加入额外的时间戳字段),特别是对不支持时间戳的自动更新的数据库,还要求业务windows进行额外的更新时间戳操作。

另外,无法捕获对时间戳以前数据的delete和update操作,在数据准确性上受到了一定的限制。

c.全表比对:典型的全表比对的办法是采用MD5校验码。

ETL工具事先为要抽取的表建立一个结构类似的MD5临时表,该临时表记录源表主键以及根据所有字段的数据计算出来的MD5校验码。

每次进行数据抽取时,对源表和MD5临时表进行MD5校验码的比对,从而决定源表中的数据是新增、纠正还是删除,同时更新MD5校验码。

MD5办法的优点是对源windows的倾入性较小(仅需要建立一个MD5临时表),但缺点也是显而易见的,与触发器和时间戳办法中的主动通告不同,MD5办法是被动的进行全表数据的比对,性能较差。

当表中没有主键或一个列且含有重复记录时,MD5办法的准确性较差。

d.日志比较:通过分析数据库自身的日志来判断变化的数据。

Oracle Database的改变数据捕获(CDC,Changed Data Capture)技术是这方面的代表。

CDC 特性是在Oracle Database9i数据库中引入的。

CDC能够帮助你辨别从上次抽取之后发生变化的数据。

利用CDC,在对源表进行insert、update或 delete 等操作的同时就可以提取数据,并且变化的数据被保存在数据库的变化表中。

这样就可以捕获发生变化的数据,然后利用数据库视图以一种可控的办法提供给目标windows。

CDC体系结构基于发布者/订阅者模型。

发布者捕捉变化数据并提供给订阅者。

订阅者试用从发布者那里获得的变化数据。

通常,CDCwindows拥有一个发布者和多个订阅者。

发布者首先需要辨别捕获变化数据所需的源表。

然后,它捕捉变化的数据并将其保存在特别创建的变化表中。

它还使订阅者能够控制对变化数据的访问。

订阅者需要清楚自己感兴趣的是哪些变化数据。

一个订阅者可能不会对发布者发布的所有数据都感兴趣。

订阅者需要创建一个订阅者视图来访问经发布者授权可以访问的变化数据。

CDC分为同步形式和异步形式,同步形式实时的捕获变化数据并存储到变化表中,发布者与订阅都位于同一数据库中。

异步形式则是基于Oracle Database的流拷贝技术。

ETL处理的数据源除了关系数据库外,还可能是文档,例如txt文档、excel 文档、xml文档等。

对文档数据的抽取一般是进行全量抽取,一次抽取前可保存文档的时间戳或计算文档的MD5校验码,下次抽取时进行比对,如果相同则可忽略本次抽取。

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

数据的转换和加工可以在ETL引擎中进行,也可以在数据抽取过程中利用关系数据库的特性同时进行。

(1)ETL引擎中的数据转换和加工ETL引擎中一般以组件化的办法实现数据转换。

常用的数据转换组件有字段映射、数据过滤、数据清洗、数据替换、数据计算、数据验证、数据加解密、数据合并、数据拆分等。

这些组件如同一条流水线上的一道道工序,它们是可插拔的,且可以任意组装,各组件之间通过数据总线共享数据。

有些ETL工具还提供了脚本支持,使得客户可以以一种编程的办法定制数据的转换和加工行为。

(2)在数据库中进行数据加工关系数据库本身已经提供了强大的SQL、函数来支持数据的加工,如在SQL 查询语句中添加where条件进行过滤,查询中重命名字段名与目的表进行映射,substr函数,case条件判断等等。

下面是一个SQL查询的例子。

select ID as USERID, substr(TITLE, 1, 20) as TITLE, case when REMARK is null then ' ' else REMARK end as 内容fromTB_REMARK where ID gt; 100;相比在ETL引擎中进行数据转换和加工,直接在SQL语句中进行转换和加工更加简单清晰,性能更高。

对于SQL语句无法处理的可以交由ETL引擎处理。

2.3 数据装载将转换和加工后的数据装载到目的库中通常是ETL过程的最后步骤。

装载数据的最佳办法取决于所执行操作的类型以及需要装入多少数据。

当目的库是关系数据库时,一般来说有两种装载办法:(1)直接SQL语句进行insert、update、delete操作。

(2)采用批量装载办法,如bcp、bulk、关系数据库特有的批量装载工具或api。

大多数情况下会试用第一种办法,因为它们进行了日志记录并且是可还原的。

但是,批量装载操作易于试用,并且在装入大量数据时效率较高。

试用哪种数据装载办法取决于业务windows的需要。

3.主流ETL工具ETL工具从厂商来看分为两种,一种是数据库厂商自带的ETL工具,如Oracle Database warehouse builder、Oracle Database Data Integrator。

另外一种是第三方工具提供商,如Kettle。

Oschina世界也有很多的ETL工具,性能各异,强弱不一。

(1)Oracle Database Data Integrator(ODI)ODI前身是Sunopsis Active Integration Platform,在2006年底被Oracle Database购买,重新命名为Oracle Database Data Integrator,重要定位于在ETL和数据集成的场景里试用。

ODI和Oracle Database原来的ETL工具OWB相比有一部分显著的特点,比如和OWB一样是ELT架构,但是比OWB支持更多的异构的数据源,ODI提供了call web service的机制,并且ODI的端口也可以暴露为web service,从而可以和SOA环境进行交互。

ODI能够检测事件,一个事件可以触发ODI的一个端口流程,从而完成近乎实时的数据集成。

相关文档
最新文档