zoukankan      html  css  js  c++  java
  • 什么是ETL?

    什么是ETL?
    一、ETL概念之背景
    随着企业的发展,目前的业务线越来越复杂,各个业务系统独立运营。例如:CRM系统只会生产CRM的 数据;Billing只会生产Billing的数据。各业务系统之间只关心自己的数据,导致各业务系统之间数据相互独立,互不相通。一旦业务系统之间进行数据交互,只能通过传统的webservice接口之间进行数据通信。该种方式对人力成本、时间成本要求比较高。也就是说:需要成熟的开发人员才能编写响应的webservice接口进行数据通信。而ETL的诞生就解决了此类问题,企业不需要技术很好、很成熟的开发人员一样可以完成该任务。而且可以比优秀的开发人员完成的更好,致使人力成本更低。这些都是企业所迫切需要的,有此诞生了ETL。

    图1-1 传统的数据交换

    二、ETL概念之工作流程
    ETL是将业务系统的数据经过抽取(Extract)、清洗转换(Transform)之后加载(Load)到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。 

    图1-3 ETL流程图

    ETL工作流程:先抽取、然后加载到目标数据库中、在目标数据库中完成转换操作。在ELT架构中,ELT只负责提供图形化的界面来设计业务规则,数据的整个加工过程都在目标和源的数据库之间流动,ELT协调相关的数据库系统来执行相关的应用,数据加工过程既可以在源数据库端执行,也可以在目标数据仓库端执行(主要取决于系统的架构设计和数据属性)。

    三、ETL概念之操作步骤
    ETL处理分为五大模块,分别是:数据抽取、数据清洗、库内转换、规则检查、数据加载。各模块可灵活进行组合,形成ETL处理流程。简单介绍一下各个模块之间的主要功能。

    数据抽取 确定数据源,需要确定从哪些源系统进行数据抽取

    定义数据接口,对每个源文件及系统的每个字段进行详细说明

    确定数据抽取的方法:是主动抽取还是由源系统推送?是增量抽取还是全量抽取?是按照每日抽取还是按照每月抽取?

    数据清洗与转换 数据清洗 主要将不完整数据、错误数据、重复数据进行处理

    数据转换:

    1)空值处理:可捕获字段空值,进行加载或替换为其他含义数据,或数据分流问题库

    2)数据标准:统一元数据、统一标准字段、统一字段类型定义

    3)数据拆分:依据业务需求做数据拆分,如身份证号,拆分区划、出生日期、性别等

    4)数据验证:时间规则、业务规则、自定义规则

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

    6)数据关联:关联其他数据或数学,保障数据完整性 数据加载 将数据缓冲区的数据直接加载到数据库对应表中,如果是全量方式则采用LOAD方式,如果是增量则根据业务规则

    https://www.bilibili.com/read/cv10480486/

  • 相关阅读:
    博客园 markdown 表格
    python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 8: illegal multibyte sequence
    在notepad++中markdown高亮并实时预览
    浏览器地址栏无法直接使用Google搜索问题
    百度文库付费文档免费下载
    交易系统开发小结
    思维认知-读mindhacks杂记
    id-aes128-GCM 加解密example
    如何以bean方式注册map
    如何实现跨域cookie共享
  • 原文地址:https://www.cnblogs.com/w-j-q/p/14772579.html
Copyright © 2011-2022 走看看