京公网安备 11010802034615号
经营许可证编号:京B2-20210330
想必大家在学习数据分析的时候,一定接触过ETL,那么关于ETL大家了解到什么程度呢?跟小编一起来复盘一下吧!
一、ETL概念
ETL全称是:Extract-Transform-Load,是将业务系统的数据经过抽取(Extract)、清洗转换(Transform)之后加载(Load)到数据仓库的过程。其目的是将企业中那些分散、零乱、标准不统一的数据整合到一起,从而为企业的决策提供分析依据。 ETL为BI项目一个非常重要的环节, 往往在BI项目中,ETL会占用我们整个项目至少1/3的时间,可以说ETL设计的好坏会直接关系到BI项目的成败。
二、ETL关键技术
1.数据的抽取(Extract)
首先需要确定数据源,也就是要弄明白数据是从哪几个业务系统中来,每个业务系统的数据库服务器运行什么DBMS;是否有手工数据存在,存在的话,数据量是多少;是否有非结构化的数据存在等。我们需要定义数据接口,对每一个源文件及系统中的每一个字段进行详细说明。之后确定数据抽取的方法,例如:需要确定是主动抽取还是由源系统推送?是按每日抽取还是每月抽取?以及是增量抽取还是全量抽取?
2.数据的清洗转换(Transform)
(1)数据清洗(Cleaning)
数据清洗的主要任务是清洗掉那些不符合要求的数据,将清洗的结果交给业务主管部门,并确认是直接清洗掉,还是由业务单位修正之后再次抽取。
不符合要求的数据主要包括:不完整的数据、错误的数据、重复的数据这三类。
(2)数据转换
数据转换一般包括:
空值处理,也就是捕获字段空值,并将其加载或替换为其他含义数据,或者数据分流问题库
数据拆分,根据实际业务需求对数据进行拆分,例如对身份证号拆分,拆分行政区划、出生日期、性别等
数据验证,时间规则、业务规则、自定义规则
数据替换,替换由于业务因素而导致的那些无效数据、缺失数据
数据关联,与其他数据进行关联,以保障数据完整性
3.数据加载(Load)
将清洗和转换后的数据装载到对应的表库中是ETL过程的最后步骤。采用什么样的方法装载数据,关键取决于所执行操作的类型和需要装载的数据量。当对应库为关系数据库时,通常有两种装载方式:
(1)直接使用SQL语句进行insert、update、delete操作。
(2)采用批量装载方法,例如bcp、bulk、关系数据库特有的批量装载工具或者api。
三、ETL日志、警告发送
1、 ETL日志
ETL日志主要分为三类。
(1)执行过程日志::在ETL执行过程中每一步的记录,记录每一次运行过程中各步骤的起始时间,影响的数据量,以流水账形式记录。
(2)错误日志::某个模块出错时的日志,会记录出错的时间、出错的模块以及其它相关出错的信息等。
(3)总体日志:只是记录ETL开始和结束时间以及否成功等信息。
如果我们使用ETL工具,那些ETL工具会也自动产生日志,这些日志也可以看做ETL日志的一部分。
记录日志的有助于我们随时知道ETL运行情况,一旦出现错误,我们可以知道是哪里出错。
2、 警告发送
若ETL出现错误,不仅会形成ETL错误日志,并且会向系统管理员发送警告。警告发送的方式有很多种,通常会采用向系统管理员发送邮件的形式,并且会附上出错的相关信息,方便管理员排查错误。
ETL是BI项目的关键环节,也是一个长期的过程,需要不断的发现问题,并解决问题,才能让ETL运行效率更高,为BI项目后期开发提供更加准确与高效的分析数据。
四、ETL 模式
ETL主要有四种实现模式,分别为:触发器模式、增量字段、全量同步、日志比对
五、ETL 工具
我们在选择ETL工具时,需要考虑从工具对平台和数据源的支持程度,集成性和开放性、抽取和装载的性能、数据转换和加工的性能,以及侵入性的高低,是否管理和调度功能等方面综合考虑。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
很多数据分析师画过趋势图、做过业绩预测,但当被问到“这个月销售额增长20%,到底是长期趋势自然增长,还是促销活动的短期 ...
2026-08-21在数据分析与数据可视化工作中,直方图是展示数据分布特征、离散程度、集中区间的核心图表,能够直观呈现数值数据的频次分布规律 ...
2026-08-20在数据分析领域有一句核心准则:垃圾数据进,垃圾数据出。数据清洗是数据分析、数据建模、数据可视化之前的必经前置工序,也是保 ...
2026-08-20 很多数据分析师做过按月份的销售额趋势图,画过按天的流量折线图,但当被问到“时间序列和普通数据有什么本质区别”“季节性 ...
2026-08-20在Python数据分析与数据清洗工作中,Pandas是最核心的数据处理库,DataFrame是结构化数据的标准存储格式。在实时数据采集、循环 ...
2026-08-19在零售行业大数据分析与精细化运营领域,纸尿裤旁摆放啤酒是最经典、最具代表性的商业案例。两种看似毫无关联的商品,一个是婴幼 ...
2026-08-19 很多数据分析师能熟练地计算指标、搭建标签体系,但当被问到“画像到底在解决什么问题”“画像和标签是什么关系”“画像如何 ...
2026-08-19在数据分析、业务监控、质量检测与风险管控工作中,数据波动性是衡量数据稳定性、业务健康度、结果可信度的核心依据。数据波动代 ...
2026-08-18很多分析师在设计标签时思路清晰,但真到落地环节却面临“数据在手,不知如何转化为可用标签”的困境:或因加工方式选择不当导致 ...
2026-08-18在数据分析、业务评价、产品评级、用户分层与综合决策场景中,单一指标往往无法全面、客观地评价事物整体水平。现实中的评价对象 ...
2026-08-18在数理统计、假设检验、数据分析与机器学习领域中,卡方分布(χ²分布)是继正态分布、t分布之后最重要的连续型概率分布之一。 ...
2026-08-17在Python数据清洗、文本校验、账号密码规则校验、脏数据过滤、字符串规整化处理中,正则表达式是最高效、最常用的文本匹配工具。 ...
2026-08-17 很多分析师每天和数据打交道,但当被问到“标签是什么”“标签和指标有什么区别”“标签体系如何设计”时,却常常答不上来。 ...
2026-08-17手游行业具备用户迭代快、竞争激烈、用户粘性易流失的典型特征。随着新游持续上线、玩家审美升级、玩法疲劳等问题出现,存量用户 ...
2026-08-14在数字化产品运营、商业数据分析、业务增长管理中,零散的指标统计无法支撑系统性的业务决策。单一的点击率、转化率、销量数据只 ...
2026-08-14 很多数据分析师每天都在写SQL,但当被问到“数据查询语言(DQL)的本质是什么”“SELECT语句中各子句的书写顺序与实际执行顺 ...
2026-08-14在数据库数据分析、数据清洗、报表统计与业务查询场景中,日期时间是最高频、最核心的基础字段。数据库中存储的日期格式多样,包 ...
2026-08-13在数据统计分析与数据清洗工作中,箱线图是一种简洁高效、客观性强的数据可视化图表,能够直观呈现数据集的分布特征、离散程度和 ...
2026-08-13 很多数据分析师写过无数个SELECT查询,但当被问到“如何新建一张表来固化中间数据”“创建视图和创建物理表有什么区别”“视 ...
2026-08-13在自动化办公、数据采集、定时统计、日志清理、系统监控等场景中,程序往往需要按照固定时间间隔重复执行指定任务,这种运行机制 ...
2026-08-12