`
kayo
  • 浏览: 548121 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论
阅读更多
ETL
开放分类: 计算机商业智能数据仓库

ETLExtraction-Transformation-Loading 的缩写,中文名称为数据抽取、转换和加载

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

ETL是数据仓库中的非常重要的一环。它是承前启后的必要的一步。相对于关系数据库,数据仓库技术没有严格的数学理论基础,它更面向实际工程应用。所以从 工程应用的角度来考虑,按着物理数据模型的要求加载数据并对数据进行一些系列处理,处理过程与经验直接相关,同时这部分的工作直接关系数据仓库中数据的质 量,从而影响到联机分析处理和数据挖掘的结果的质量。

数据仓库是一个独立的数据环境,需要通过抽取过程将数据从联机事务处理环境、外部数据源和脱机的数据存储介质导入到数据仓库中;在技术上,ETL主要涉及 到关联、转换、增量、调度和监控等几个方面;数据仓库系统中数据不要求与联机事务处理系统中数据实时同步,所以ETL可以定时进行。但多个ETL的操作时 间、顺序和成败对数据仓库中信息的有效性至关重要。

  ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)作为BI/DW(Business Intelligence)的核心和灵魂,能够按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的 重要步骤。如果说数据仓库的模型设计是一座大厦的设计蓝图,数据是砖瓦的话,那么ETL就是建设大厦的过程。在整个项目中最难部分是用户需求分析和模型设 计,而ETL规则设计和实施则是工作量最大的,约占整个项目的60%~80%,这是国内外从众多实践中得到的普遍共识。

      ETL是数据抽取(Extract)、转换(Transform)、清洗(Cleansing)、装载(Load)的过程。是构建数据仓库的重要一环, 用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。

  信息是现代企业的重要资源,是企业运用科学管理、决策分析的基础。目前,大多数企业花费大量的资金和时间来构建联机事务处理OLTP的业务系统和办公 自动化系统,用来记录事务处理的各种相关数据。据统计,数据量每2~3年时间就会成倍增长,这些数据蕴含着巨大的商业价值,而企业所关注的通常只占在总数 据量的2%~4%左右。因此,企业仍然没有最大化地利用已存在的数据资源,以致于浪费了更多的时间和资金,也失去制定关键商业决策的最佳契机。于是,企业 如何通过各种技术手段,并把数据转换为信息、知识,已经成了提高其核心竞争力的主要瓶颈。而ETL则是主要的一个技术手段。如何正确选择ETL工具?如何 正确应用ETL?

  目前,ETL工具的典型代表有:Informatica、Datastage、OWB、微软DTS……

  数据集成:快速实现ETL

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

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

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

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

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

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

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

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

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

  为了能更好地实现ETL,笔者建议用户在实施ETL过程中应注意以下几点:

  第一,如果条件允许,可利用数据中转区对运营数据进行预处理,保证集成与加载的高效性;

  第二,如果ETL的过程是主动“拉取”,而不是从内部“推送”,其可控性将大为增强;

  第三,ETL之前应制定流程化的配置管理和标准协议;

  第四,关键数据标准至关重要。目前,ETL面临的最大挑战是当接收数据时其各源数据的异构性和低质量。以电信为例,A系统按照统计代码管理数据,B系 统按照账目数字管理,C系统按照语音ID管理。当ETL需要对这三个系统进行集成以获得对客户的全面视角时,这一过程需要复杂的匹配规则、名称/地址正常 化与标准化。而ETL在处理过程中会定义一个关键数据标准,并在此基础上,制定相应的数据接口标准。

  ETL过程在很大程度上受企业对源数据的理解程度的影响,也就是说从业务的角度看数据集成非常重要。一个优秀的ETL设计应该具有如下功能:

  管理简单;采用元数据方法,集中进行管理;接口、数据格式、传输有严格的规范;尽量不在外部数据源安装软件;数据抽取系统流程自动化,并有自动调度功 能;抽取的数据及时、准确、完整;可以提供同各种数据系统的接口,系统适应性强;提供软件框架系统,系统功能改变时,应用程序很少改变便可适应变化;可扩 展性强。


  数据模型:标准定义数据


  合理的业务模型设计对ETL至关重要。数据仓库是企业惟一、真实、可靠的综合数据平台。数据仓库的设计建模一般都依照三范式、星型模型、雪花模型,无 论哪种设计思想,都应该最大化地涵盖关键业务数据,把运营环境中杂乱无序的数据结构统一成为合理的、关联的、分析型的新结构,而ETL则会依照模型的定义 去提取数据源,进行转换、清洗,并最终加载到目标数据仓库中。

  模型的重要之处在于对数据做标准化定义,实现统一的编码、统一的分类和组织。标准化定义的内容包括:标准代码统一、业务术语统一。ETL依照模型进行 初始加载、增量加载、缓慢增长维、慢速变化维、事实表加载等数据集成,并根据业务需求制定相应的加载策略、刷新策略、汇总策略、维护策略。


  元数据:拓展新型应用


  对业务数据本身及其运行环境的描述与定义的数据,称之为元数据(metadata)。元数据是描述数据的数据。从某种意义上说,业务数据主要用于支持 业务系统应用的数据,而元数据则是企业信息门户、客户关系管理、数据仓库、决策支持和B2B等新型应用所不可或缺的内容。

  元数据的典型表现为对象的描述,即对数据库、表、列、列属性(类型、格式、约束等)以及主键/外部键关联等等的描述。特别是现行应用的异构性与分布性 越来越普遍的情况下,统一的元数据就愈发重要了。“信息孤岛”曾经是很多企业对其应用现状的一种抱怨和概括,而合理的元数据则会有效地描绘出信息的关联 性。

  而元数据对于ETL的集中表现为:定义数据源的位置及数据源的属性、确定从源数据到目标数据的对应规则、确定相关的业务逻辑、在数据实际加载前的其他 必要的准备工作,等等,它一般贯穿整个数据仓库项目,而ETL的所有过程必须最大化地参照元数据,这样才能快速实现ETL。

  ETL体系结构

  下图为ETL体系结构,它体现了主流ETL产品框架的主要组成部分。ETL是指从源系统中提取数据,转换数据为一个标准的格式,并加载数据到目标数据存储区,通常是数据仓库。

  ETL体系结构图

  Design manager 提供一个图形化的映射环境,让开发者定义从源到目标的映射关系、转换、处理流程。设计过程的各对象的逻辑定义存储在一个元数据资料库中。

  Meta data management 提供一个关于ETL设计和运行处理等相关定义、管理信息的元数据资料库。ETL引擎在运行时和其它应用都可参考此资料库中的元数据。

  Extract 通过接口提取源数据,例如ODBC、专用数据库接口和平面文件提取器,并参照元数据来决定数据的提取及其提取方式。

  Transform 开发者将提取的数据,按照业务需要转换为目标数据结构,并实现汇总。

  Load 加载经转换和汇总的数据到目标数据仓库中,可实现SQL或批量加载。

  Transport services 利用网络协议或文件协议,在源和目标系统之间移动数据,利用内存在ETL处理的各组件中移动数据。

  Administration and operation 可让管理员基于事件和时间进行调度、运行、监测ETL作业、管理错误信息、从失败中恢复和调节从源系统的输出。

分享到:
评论

相关推荐

    很全的ETL学习资料

    BI项目中ETL设计与思考.docx DataStage(ETL)技术总结.docx ETL增量抽取.docx ETL增量抽取方式.docx ETL工具点评.docx ETL常见性能瓶颈.docx ETL构建企业级数据仓库五步法.docx ETL高级教程.docx 三大主流ETL工具选型...

    ETL架构师面试题

    它对ETL项目组的作用是什么? 2.在数据仓库项目中,数据探索阶段的主要目的是什么? 3.如何确定起始来源数据? 架构 4.在ETL过程中四个基本的过程分别是什么? 5.在数据准备区中允许使用的数据结构有哪些?各有...

    1、ETL工程师经典面试题.md

    5. 在 ETL过程中四个基本的过程分别是什么? 6. 从 ERP源系统中抽取数据最好的方法是什么? 7. 简述直接连接数据库和使用 ,ODBC连接数据库进行通讯的优缺点。 8. 什么是代理键?简述代理键替换管道如何工作。 9. ...

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

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

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

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

    支持国产ETL etl-engine 用go写的轻量级etl引擎 方便集成到各企业中

    etl-engine的核心思想是为用户快速搭建ETL产品提供解决方案,让用户低代码乃至零代码将ETL产品集成到自己的项目或产品生态中。该产品由etl-engine引擎和etl-designer云端设计器及etl-crontab调度组成。etl-engine...

    《ETL数据整合与处理(Kettle)》教学教案 —05高级转换.pdf

    《ETL数据整合与处理(Kettle)》教学教案 —05高级转换.pdf《ETL数据整合与处理(Kettle)》教学教案 —05高级转换.pdf《ETL数据整合与处理(Kettle)》教学教案 —05高级转换.pdf《ETL数据整合与处理(Kettle)》教学教案 ...

    The Data WarehouseETL Toolkit: Practical Techniques for

    Delivers real world solutions for the most time and labor intensive portion of data warehousing data staging or the extract transform load ETL process Delineates best practices for extracting data ...

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

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

    ETL之kettle基础-PPT讲解

    内容概要:ETL之kettle包含26张PPT,kettle安装、使用、如何连接等,使用PDI9.2演示、什么是ETL、什么是Kettle、kettle安装、kettle目录结构、转换和作业、kettle操作、数据库连接、注意事项。 适合人群:具备一定...

    ETL实战ETL实战

    ETL实战ETL实战ETL实战ETL实战

    ETL详解.docx

    1 ETL是什么 3 2 ETL和大数据有什么关联 3 3 ETL有哪些过程,要进行哪些操作 3 3.1 抽取作业 4 3.1.1 手工开发抽取作业时候的常用方法 4 3.1.2 更新数据的时间和数量的问题 5 3.2 转换作业 8 3.2.1 数据清洗 8 3.2.2...

    Java分布式ETL框架

    Java分布式ETL框架

    ETL工具 ,基于Kettle实现的Web版ETL工具

    ETL工具 ,基于Kettle实现的Web版ETL工具,实现简单的数据抓取功能

    BI ETL ELT Kettle 基础知识中文文档汇总

    BI ETL ELT Kettle 基础知识中文文档汇总 BI项目中ETL设计与思考.pdf CTL工具.pdf ETL-开发规范.pdf ETL_--_事实表.pdf ETL_文档.pdf ETL_架构.pdf ETL_调度系统技术方案说明书_V1.0.pdf ETL中的数据清洗...

    SQL Server 2005 ETL 专家系列

    SQL Server 2005 ETL专家系列之一:SQL Server DTS的前世今生 SQL Server 2005 ETL专家系列之二:SQL Server 2005 Integration Service的基本任务 SQL Server 2005 ETL专家系列之三:SQL Server 2005 Integration ...

    传统数据仓库ETL设计报告

    ETL升级一方面采用元数据驱动ETL的方式,通过配置元数据驱动ETL;另一方面,在ETL调度控制方面,采用结合数据质量校验的ETL调度

    ETL 以及 KETTLE 简介

    1. 什么是ETL 2. KETTLE简介 2.1. Chef——工作(job)设计器 2.1.1. Chef中的作业项包括: 2.1.2. 工作流 2.1.3. 存储方式 2.1.4. LogView: 2.2. Kitchen——作业执行器 2.3. Spoon——转换过程设计器 ...

    ETL工具KETTLE实例手册

    开源ETL工具 Kettle ------------------------------------------ 分享到 新浪微博腾讯微博已用 +30 收藏+164 Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定(数据迁移工具)。Kettle中...

    数据仓库ETL算法详解

    1. ETL的定义:是数据抽取(Extract)、转换(Transform)、清洗(Cleansing)、装载(Load)的过程。是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据...

Global site tag (gtag.js) - Google Analytics