`
gaojingsong
  • 浏览: 1182103 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【数据处理之ETL介绍】

阅读更多

ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。

 

ETL工具的典型代表有:Informatica、Datastage、OWB、微软DTS、Beeload、Kettle等



 

开源的工具有eclipse的etl插件:cloveretl

 

ETL的质量问题具体表现为正确性、完整性、一致性、完备性、有效性、时效性和可获取性等几个特性。而影响质量问题的原因有很多,由系统集成和历史数据造成的原因主要包括:业务系统不同时期系统之间数据模型不一致;业务系统不同时期业务过程有变化;旧系统模块在运营、人事、财务、办公系统等相关信息的不一致;遗留系统和新业务、管理系统数据集成不完备带来的不一致性。

 

 

ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。 ETL是BI项目重要的一个环节。

 

 ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL的时候我们也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到ODS(Operational Data Store,操作型数据存储)中——这个过程也可以做一些数据的清洗和转换),在抽取的过程中需要挑选不同的抽取方法,尽可能的提高ETL的运行效率。ETL三个部分中,花费时间最长的是“T”(Transform,清洗、转换)的部分,一般情况下这部分工作量是整个ETL的2/3。数据的加载一般在数据清洗完了之后直接写入DW(Data Warehousing,数据仓库)中去。



 

  ETL的实现有多种方法,常用的有三种。一种是借助ETL工具(如Oracle的OWB、SQL Server 2000的DTS、SQL Server2005的SSIS服务、Informatic等)实现,一种是SQL方式实现,另外一种是ETL工具和SQL相结合。前两种方法各有各的优缺点,借助工具可以快速的建立起ETL工程,屏蔽了复杂的编码任务,提高了速度,降低了难度,但是缺少灵活性。SQL的方法优点是灵活,提高ETL运行效率,但是编码复杂,对技术要求比较高。第三种是综合了前面二种的优点,会极大地提高ETL的开发速度和效率。

 

 

实现ETL,首先要实现ETL转换的过程。体现为以下几个方面:

1、空值处理:可捕获字段空值,进行加载或替换为其他含义数据,并可根据字段空值实现分流加载到不同目标库。

2、规范化数据格式:可实现字段格式约束定义,对于数据源中时间、数值、字符等数据,可自定义加载格式。

3、拆分数据:依据业务需求对字段可进行分解。例,主叫号 861082585313-8148,可进行区域码和电话号码分解。

4、验证数据正确性:可利用Lookup及拆分功能进行数据验证。例如,主叫号861082585313-8148,进行区域码和电话号码分解后,可利用Lookup返回主叫网关或交换机记载的主叫地区,进行数据验证。

5、数据替换:对于因业务因素,可实现无效数据、缺失数据的替换。

6、Lookup:查获丢失数据 Lookup实现子查询,并返回用其他手段获取的缺失字段,保证字段完整性。

7、建立ETL过程的主外键约束:对无依赖性的非法数据,可替换或导出到错误数据文件中,保证主键唯一记录的加载。

  • 大小: 10.5 KB
  • 大小: 9.2 KB
0
0
分享到:
评论

相关推荐

    基于大数据处理的ETL框架的研究与设计.pdf

    【大数据处理的ETL框架研究与设计】 大数据处理在当今的信息时代中扮演着至关重要的角色,而ETL(Extract, Transform, Load)是数据处理流程中的核心环节,它负责从不同来源抽取数据,进行清洗、转换,然后加载到...

    传统数据仓库ETL设计报告

    ETL平台分为三个主要模块:ETL元数据驱动模块负责根据配置信息生成ETL作业,ETL调度模块配置调度并结合数据质量校验控制执行,而ETL元数据管理模块则用于管理和检索ETL配置信息。 2.1.2.2 ETL平台技术架构 技术...

    ETL数据整合与处理(Kettle)教案.rar

    Kettle作为开源的ETL工具,提供了丰富的数据处理功能,支持多种数据库、文件系统和云服务,使得ETL工作更加便捷。 二、Kettle基础 Kettle由Pentaho公司开发,它采用图形化的工作流设计,通过Job和Transformation两...

    《ETL数据整合和处理》教学大纲.pdf

    《ETL数据整合和处理》课程是一门针对大数据技术类专业的必修课,旨在培养具有实战经验的大数据处理和分析人才。课程总学时为64学时,其中包括30学时的理论教学和34学时的实验操作,总计4.0学分。课程的核心目标是让...

    基于Java的ETL数据处理系统.zip

    基于Java的ETL数据处理系统 内容概要 本项目是一个基于Java的ETL(Extract, Transform, Load)数据处理系统,旨在通过界面配置自定义的数据流程图,生成流式任务进行数据处理。系统支持多种数据源和目标,并提供...

    ETL数据整合与处理(Kettle)_PPT课件.rar

    Kettle支持多种数据源,包括关系型数据库、文件系统、API接口等,且具备强大的数据转换能力和高性能的数据处理能力。 **1. ETL过程详解** - **抽取(Extract)**: 这是ETL的第一步,涉及从各种来源获取数据。这可能...

    Ruby的数据处理和ETL框架_Ruby_下载.zip

    在数据处理和ETL(Extract, Transform, Load)领域,Ruby也有许多优秀的框架和库,可以帮助开发者高效地处理大量数据。本资源"Ruby的数据处理和ETL框架_Ruby_下载.zip"可能包含一个名为"kiba-master"的项目,它很...

    ETL技术在银行成本分摊系统数据处理中的应用.pdf

    ETL(Extract, Transform, Load)技术是一种在数据仓库和数据挖掘领域常用的数据处理方法。其目的是从不同的数据源中提取数据,然后进行转换和清洗,最终加载到目标数据库中,以供进一步分析和使用。在银行成本分摊...

    数据仓库与ETL的实现过程

    同时,随着大数据和云计算的发展,Hadoop、Spark和AWS Glue等现代数据处理平台也逐渐成为ETL的新选择。 总之,数据仓库与ETL是构建高效数据驱动决策体系的关键技术。理解并掌握这两者的工作原理和实施过程,对于...

    Oracle数据数据处理教程 Oracle 9i的ETL处理方法 共16页.pdf

    这使得数据处理更高效,减少了对额外中间层软件的依赖。 在Oracle 9i中,外部表允许直接从非Oracle格式的数据源读取数据,无需先将其导入到数据库中。这大大提高了数据提取的速度和灵活性。例如,可以创建外部表来...

    数据仓库中的ETL和元数据

    2. 指导ETL过程:元数据包含了数据转换的规则和逻辑,它是ETL过程中进行数据处理的关键依据。 3. 提供数据模型信息:在数据仓库中,元数据描述了数据模型的结构,包括星型模式、雪花模式等。 4. 辅助数据使用:元...

    数据仓库-ETL和元数据

    **ETL**(Extract/Transform/Load)是数据仓库建设中的核心环节之一,主要负责将来自多个源的数据抽取、转换和加载到数据仓库中。 1. **数据抽取**(Extract): 从源系统中提取所需的数据。 2. **数据转换**...

    ETL数据抽取工具

    本篇文章将重点介绍ETL工具,特别是以Kettle为例,探讨其在数据处理中的应用和功能。 Kettle是一款开源的ETL工具,由Pentaho公司开发,以其灵活、高效和易于使用而受到业界欢迎。Kettle提供了图形化的用户界面,...

    《ETL数据整合与处理(Kettle)》教学教案 —03记录处理.pdf

    这些操作对于数据处理和分析至关重要,因为它们帮助消除数据噪声,确保后续分析的有效性和准确性。 1. **排序记录**:在进行数据处理时,排序通常作为预处理步骤,为去除重复记录或执行其他特定操作做准备。排序...

    《ETL数据整合与处理(Kettle)》教学教案 —02源数据获取.pdf

    Kettle是一款强大的开源ETL工具,由Pentaho公司开发,它提供了丰富的图形化界面,使得非程序员也能进行数据处理工作。本章节主要探讨如何使用Kettle获取来自各种源的数据,包括数据库、Excel文件和CSV文件等。 **二...

    《ETL数据整合与处理(Kettle)》教学教案 —04字段处理.pdf

    在数据库和文件的数据处理中,字段处理可能有不同的实现方式。 - 字段处理会针对每个记录的数据进行操作,例如选择特定字段、添加常量、修改字段值等。 2. **主要组件及参数设置**: - **字段选择**:允许用户...

    提高数据仓库的ETL效率

    1. **海量数据处理**:ETL处理海量数据,需要考虑如何有效地进行数据抽取、清洗和加载。 2. **批量操作**:对大批量数据进行删除、更新和插入操作,应避免全表扫描,尽可能利用索引来提升效率。 3. **异常数据处理**...

Global site tag (gtag.js) - Google Analytics