zoukankan      html  css  js  c++  java
  • 什么是ETL?5分钟看完秒懂

    什么是ETL?5分钟看完秒懂

    欢迎关注笔者的公众号: java大师, 每日推送java、kettle运维等领域干货文章,关注即免费无套路附送 100G 海量学习、面试资源哟!!个人网站: http://www.javaman.cn/channels/kettle

    一、ETL概念之背景

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

     

                                图1-1 传统的数据交换

     

     

                                图1-2 ETL数据交换

     

    二、ETL概念之工作流程

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

     

                                      图1-3 ETL流程图

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

     

    三、ETL概念之操作步骤

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

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

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

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

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

    数据转换:

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

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

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

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

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

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

    MERGE进数据库

     

    注意:因某些限制,最新源代码和后续通用配置实现数据抽取已放置在笔者公众号上,请关注微信公众号: 【JAVA大师】, 回复关键字:【kettle】,获取kettle安装程序和运行实例(表结构和kjb、ktr文件)

    同时笔者原创了一套视频教程:现免费发放100套,先到先得。获得方法:扫描下方二维码,关注获得

    img

  • 相关阅读:
    LeetCode "Median of Two Sorted Arrays"
    LeetCode "Distinct Subsequences"
    LeetCode "Permutation Sequence"

    LeetCode "Linked List Cycle II"
    LeetCode "Best Time to Buy and Sell Stock III"
    LeetCode "4Sum"
    LeetCode "3Sum closest"
    LeetCode "3Sum"
    LeetCode "Container With Most Water"
  • 原文地址:https://www.cnblogs.com/dalaba/p/14516866.html
Copyright © 2011-2022 走看看