《ETL原理及应用》学习笔记 ·001【ETL介绍】

注:前言、目录见 https://blog.csdn.net/qq_44220418/article/details/108428971

Tips:本节内容偏概念性,做简单了解即可

一、ETL介绍

1、背景

企业数据整合的复杂多样性

  • 庞大及不断增加的数据量
      对员工、软硬件构成压力
  • 分散而没有文档的数据来源
      开发人员离职,也带走了知识和经验
      费时的数据定性工作
  • 数据质量及相容问题
      分散的数据来源无法做到单一客户观
      数据来源本身或许有数据质量问题
  • 复杂度和数据量的取舍
      复杂的数据转换无法在短时间内完成
  • 不同工具之间如何共享元数据
      数据定义不同意,在数据流程中容易产生错误
      用户需要重新了解和把元数据输入不同的工具
  • 如何整合由不同供应商提供的系统
      在企业数据整合之前,先要整合多种不同工具和管理多家不同供应商

以上这些都会导致一个问题——元数据不可用、需要调整

2、ETL介绍

ETLExtract-Transform-Load,抽取-转换-加载系统是数据仓库的基础

一个设计良好的ETL系统从源系统抽取数据,执行数据质量和一致性标准,然后规格化数据,从而使分散的源数据可以集中在一起使用,最终再以可以展现的格式提交数据,以便开发者可以创建应用系统

ETL系统既能成就数据仓库也能毁了它,因为虽然创建ETL系统是后台工作,对于最终用户并不可见,但是对于实施和维护一个典型的数据仓库系统来说,所耗费的资源很容易达到70%

3、数据处理流程

4、ETL的优点

ETL系统能使数据明显地增值,它的工作也绝不是简单的把数据从源系统抽取到数据仓库中。

特别是,ETL系统能够

  • 消除错误数据并纠正缺失数据
  • 提供对于数据可信度的文档化衡量
  • 为保护数据获取相互作用的数据流程
  • 把多个源数据整合到一起
  • 将数据进行结构化,供最终用户使用

5、ETL的目的

有效使用信息的前提是整合数据。

在数据分析中,最忌讳的是把一些新的技术投入到项目中使用。


ETL的目的如下图所示

理想的经营分析ETL

  • 庞大及不断增加的数据量
      无限而线性的扩展性
  • 分散而没有文档的数据来源
      有效的数据描绘
  • 数据质量及相容问题
      数据质量及匹配
  • 复杂度和数据量的取舍
      有效的ETL功能
  • 不同工具之间如何共享元数据
      元数据管理
  • 如何整合由不同供应商提供的系统
      单一平台和供应商

二、数据处理

1、数据处理的两条线

规划与设计
数据流
测试/发布
实现
架构
需求/现状
提交
格式化
清洗
抽取

2、传统ETL数据处理的方式

(1).方式一:数据库外部ETL

风险和缺点
扩展性差
缺乏数据恢复能力
难于维护
没有充分利用数据库的处理能力

(2).方式二:数据上载到数据库的存储区域(Stage)再进行ETL

风险和缺点
数据库需要存储两份数据——原始数据、中间结果数据
数据库工具和语言对处理特殊的ETL问题没有优化

3、ETL设计

(1).并行分段ETL设计

  • E:抽取对源系统影响最小化
  • T:数据质量预处理保证数据正确、一致
  • L:并行专用接口装载,缩短ETL的时间窗口

元数据控制了ETL的数据映射、断点续抽、回滚及错误数据的判定和处理。

(2).ETL容错性设计

  • 1. 数据质量问题
    1. 对象级数据检查
    2. 对象内容的格式核查
    3. 数据质量检查及处理
    4. 数据报告
  • 2. 数据异常终止ETL
  • 3. 数据质量告警
  • 4. ETL功能接续
  • 5. 批量数据的回退

4、常用的ETL工具软件

公司ETL工具
AscentialDatastage
IBMDB2 Warehouse Manager
ORACLEOracle Warehouse Manager
InformaticPowermart
NCRFastload
SagentSagent

基于ETL工具的优势

  • 开发过程简单、快速、低成本
  • 了解业务知识但不精通编程的技术人员也能够有效使用ETL工具
  • 很多ETL工具内部集成了元数据资料库,这样,源系统、目标数据库以及其他BI工具的元数据可以同步到这个元数据资料库中。
  • 大多数ETL工具在每个处理流程会自动产生元数据,从而强制所有的开发人员必须遵循一致的元数据驱动的方法论。
  • 大多数ETL工具都有内置的调度器,帮助生成文档、简化创建过程以及变更管理。如果系统发生故障,ETL工具会负责处理全部复杂的依赖关系以及差错控制。
  • ETL工具的元数据资料库能够自动的产生数据沿袭(便于反查)和数据依赖分析(便于前查)。
  • ETL工具为大多数源和目标系统设有预置的连接器。在技术层面,ETL 工具应当处理能够处理全部种类的数据类型转换。
  • ETL工具通常提供内嵌的加密和压缩功能。
  • ETL工具可以跨服务器的复杂的负载均衡,避免服务器死锁。
  • 当底层框架变更时,会对后续流程和应用造成影响,大多数ETL工具可以自动的进行这种“变更-冲击”分析。
  • 在指定的处理模块中,ETL工具可以使用编程语言进行扩展。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

God-Excious

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值