亿信华辰

连续3年稳坐商务智能应用榜首
与此同时,亿信华辰在数据治理领域荣登五强
首页行业资讯数据分析

关于数据分析,你需要知道的ETL基础知识

时间:2021-07-16来源:亿信ABI知识库浏览数:70

信息是现代企业的重要资源,是企业运用科学管理、决策分析的基础。据统计,数据量每经过2-3年时间就会成倍增长,这些数据蕴含着巨大的商业价值,而企业所关注的通常只占总数据量的2%~4%左右。因此,企业仍然没有最大化地利用已存在的数据资源,以至于浪费了更多的时间和资金,也失去制定关键商业决策的最佳契机。

于是,企业如何通过各种技术手段,并把数据转换为信息、知识,已经成了提高其核心竞争力的关键,其中的数据处理在大数据的生态中始终处于不可缺少的地位,因为数据处理的时效性,准确性直接影响数据的分析与挖掘,分析的最终结果影响业务的营销与收入。

今天我们就来说说一种重要的数据分析处理手段ETL(Extract-Transform-Load)



  01  
ETL发展的历史背景


随着企业的发展,各业务线、产品线、部门都会承建各种信息化系统方便开展自己的业务。随着信息化建设的不断深入,由于业务系统之间各自为政、相互独立造成的数据孤岛”现象尤为普遍,业务不集成、流程不互通、数据不共享。这给企业进行数据的分析利用、报表开发、分析挖掘等带来了巨大困难。

在此情况下,为了实现企业全局数据的系统化运作管理(信息孤岛、数据统计、数据分析、数据挖掘) ,为DSS(决策支持系统)、BI(商务智能)、经营分析系统等深度开发应用奠定基础,挖掘数据价值 ,企业会开始着手建立数据仓库,数据中台。将相互分离的业务系统的数据源整合在一起,建立一个统一的数据采集、处理、存储、分发、共享中心,从而使公司的成员能够从不同业务部门查看综合数据,而这个过程中使用的数据处理方法之一就是ETL。

ETL是数据中心建设、BI分析项目中不可或缺的环节。各个业务系统中分布的、异构的数据源,经过ETL过程的数据抽取、转换,最终存储到目标数据库或者数据仓库,为上层BI数据分析,或其他业务功能做数据支撑。


  02  
什么是ETL?


ETL,Extract-Transform-Load的缩写,是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程。ETL是数据集成的第一步,也是构建数据仓库最重要的步骤,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。

举个例子,某电商公司分析人员根据订单数据进行用户特征分析。这时需要基于订单数据,计算一些相应的分析指标,如每个用户的消费频次,销售额最大的单品,用户复购时间间隔等,这些指标都要通过计算转换得到。



  03  
ETL的流程


ETL如同它代表的三个英文单词,涉及三个独立的过程:抽取、转换和加载。工作流程往往作为一个正在进行的过程来实现,各模块可灵活进行组合,形成ETL处理流程。

1.数据抽取

数据抽取指的是从不同的网络、不同的操作平台、不同的数据库和数据格式、不同的应用中抽取数据的过程。目标源可能包括ERP、CRM和其他企业系统,以及来自第三方源的数据。

不同的系统倾向于使用不同的数据格式,在这个过程中,首先需要结合业务需求确定抽取的字段,形成一张公共需求表头,并且数据库字段也应与这些需求字段形成一一映射关系。这样通过数据抽取所得到的数据都具有统一、规整的字段内容,为后续的数据转换和加载提供基础,具体步骤如下:

①确定数据源,需要确定从哪些源系统进行数据抽取
②定义数据接口,对每个源文件及系统的每个字段进行详细说明
③确定数据抽取的方法:是主动抽取还是由源系统推送?是增量抽取还是全量抽取?是按照每日抽取还是按照每月抽取?

2.数据转换

数据转换实际上还包含了数据清洗的工作,需要根据业务规则对异常数据进行清洗,主要将不完整数据、错误数据、重复数据进行处理,保证后续分析结果的准确性。

数据转换就是处理抽取上来的数据中存在的不一致的过程。数据转换一般包括两类:第一类:数据名称及格式的统一,即数据粒度转换、商务规则计算以及统一的命名、数据格式、计量单位等;第二类:数据仓库中存在源数据库中可能不存在的数据,因此需要进行字段的组合、分割或计算。主要涉及以下几个方面:

①空值处理:可捕获字段空值,进行加载或替换为其他含义数据,或数据分流问题库
②数据标准:统一元数据、统一标准字段、统一字段类型定义
③数据拆分:依据业务需求做数据拆分,如身份证号,拆分区划、出生日期、性别等
④数据验证:时间规则、业务规则、自定义规则
⑤数据替换:对于因业务因素,可实现无效数据、缺失数据的替换
⑥数据关联:关联其他数据或数学,保障数据完整性

3.数据加载

数据加载的主要任务是将经过清洗后的干净的数据集按照物理数据模型定义的表结构装入目标数据仓库的数据表中,如果是全量方式则采用LOAD方式,如果是增量则根据业务规则MERGE进数据库,并允许人工干预,以及提供强大的错误报告、系统日志、数据备份与恢复功能。整个操作过程往往要跨网络、跨操作平台。

在实际的工作中,数据加载需要结合使用的数据库系统(Oracle、Mysql、Spark、Impala等),确定最优的数据加载方案,节约CPU、硬盘IO和网络传输资源。



  04  
ETL与ELT有什么区别?


ETL架构按其字面含义理解就是按照E-T-L这个顺序流程进行处理的架构:先抽取、然后转换、完成后加载到目标数据库中。

在ETL架构中,数据的流向是从源数据流到ETL工具,ETL工具是一个单独的数据处理引擎,一般会在单独的硬件服务器上,实现所有数据转化的工作,然后将数据加载到目标数据仓库中。如果要增加整个ETL过程的效率,则只能增强ETL工具服务器的配置,优化系统处理流程(一般可调的东西非常少)。

ELT架构则把“L”这一步工作提前到“T”之前来完成:先抽取、然后加载到目标数据库中、在目标数据库中完成转换操作。在ELT架构中,ELT只负责提供图形化的界面来设计业务规则,数据的整个加工过程都在目标和源的数据库之间流动,ELT协调相关的数据库系统来执行相关的应用,数据加工过程既可以在源数据库端执行,也可以在目标数据仓库端执行(主要取决于系统的架构设计和数据属性)。当ETL过程需要提高效率,则可以通过对相关数据库进行调优,或者改变执行加工的服务器就可以达到。

ELT架构的特殊优势:①ELT主要通过数据库引擎来实现系统的可扩展性;②ELT可以保持所有的数据始终在数据库当中,避免数据的加载和导出,从而保证效率,提高系统的可监控性;③ELT可以根据数据的分布情况进行并行处理优化,并可以利用数据库的固有功能优化磁盘I/O;④ELT的可扩展性取决于数据库引擎和其硬件服务器的可扩展性;⑤通过对相关数据库进行性能调优,ELT过程获得3到4倍的效率提升一般不是特别困难。

(1)当您想要执行复杂的计算时,ETL工具比数据仓库或数据池更有效
(2)如果要在加载到目标存储之前进行大量数据清理。ETL是一种更好的解决方案,因为您不会将不需要的数据移动到目标。
(3)当您仅使用结构化数据或传统结构化数据仓库时。ETL工具通常最有效地将结构化数据从一个环境移动到另一个环境。
(4)当你想要扩展补充数据时。如果要在将数据移动到目标存储时扩展补充数据,则需要使用ETL工具。例如,添加时间戳。


关于
亿信华辰


亿信华辰是中国专业的智能数据产品与服务提供商,一直致力于为政企用户提供从数据采集、存储、治理、分析到智能应用的智能数据全生命周期管理方案,帮助企业实现数据驱动、数据智能,已积累了8000多家用户的服务和客户成功经验,为客户提供数据分析平台、数据治理系统搭建等专业的产品咨询、实施和技术支持服务。


(部分内容来源网络,如有侵权请联系删除)
立即免费申请产品试用 免费试用
相关文章推荐
相关主题
© 2022 ESENSOFT 北京亿信华辰软件有限责任公司| 版权所有:京ICP备07017321号 京公网安备11010802016281号|免责声明

人工
客服

立即扫码
享受一对一服务
亿信微信二维码

预约
演示

您好,商务咨询请联系

400咨询:4000011866
咨询热线:137-0121-6791