数据仓库系列5-ETL是什么

什么是ETL?

ETL(Extract, Transform and Load)是从不同的源系统中提取数据,然后转换数据(如应用计算、连接等)并最终将数据加载到数据仓库系统中的过程。ETL 的完整形式是提取、转换和加载。

很容易认为创建数据仓库只是从多个来源提取数据并加载到数据仓库的数据库中。这与事实相去甚远,需要复杂的 ETL 过程。ETL 过程需要来自包括开发人员、分析师、测试人员、高层管理人员在内的各种利益相关者的积极投入,并且在技术上具有挑战性。

为了保持其作为决策者工具的价值,数据仓库系统需要随着业务的变化而变化。ETL 是数据仓库系统的重复活动(每天、每周、每月),需要敏捷、自动化和有据可查。

为什么需要ETL?

在组织中采用 ETL 的原因有很多:

  • 它可以帮助公司分析其业务数据以做出关键业务决策。
  • 事务型数据库无法回答 ETL 示例可以回答的复杂业务问题。
  • 数据仓库提供公共数据存储库
  • ETL 提供了一种将数据从各种来源移动到数据仓库中的方法。
  • 随着数据源的变化,数据仓库会自动更新。
  • 精心设计和记录的 ETL 系统对于数据仓库项目的成功几乎是必不可少的。
  • 允许验证数据转换、聚合和计算规则。
  • ETL 过程允许在源系统和目标系统之间比较样本数据。
  • ETL 过程可以执行复杂的转换并且需要额外的区域来存储数据。
  • ETL 有助于将数据迁移到数据仓库。转换为各种格式和类型以遵循一个一致的系统。
  • ETL 是一个预定义的过程,用于访问和操作源数据到目标数据库中。
  • 数据仓库中的 ETL 为业务提供了深刻的历史背景。
  • 它有助于提高生产力,因为它无需技术技能即可编码和重复使用。

数据仓库中的 ETL 过程

ETL 是一个 3 步过程

ETL流程

步骤 1) 提取

在 ETL 架构的这一步中,数据从源系统中提取到暂存区。在暂存区进行转换(如果有),以便源系统的性能不会降低。此外,如果将损坏的数据直接从源复制到数据仓库数据库中,回滚将是一个挑战。暂存区提供了在提取的数据进入数据仓库之前对其进行验证的机会。

数据仓库需要集成不同的系统、DBMS、硬件、操作系统和通信协议。来源可能包括大型机等遗留应用程序、定制应用程序、ATM 等接触点设备、呼叫交换机、文本文件、电子表格、ERP、来自供应商、合作伙伴等的数据。

因此,在物理提取和加载数据之前,需要一个逻辑数据映射。该数据映射描述了源数据和目标数据之间的关系。

三种数据提取方法:

  1. 完全提取
  2. 部分提取 - 没有更新通知。
  3. 部分提取 - 带有更新通知

无论使用何种方法,提取都不应影响源系统的性能和响应时间。这些源系统是实时生产数据库。任何放缓或锁定都可能影响公司的底线。

在提取期间完成了一些验证:

  • 将记录与源数据协调
  • 确保没有加载垃圾邮件/不需要的数据
  • 数据类型检查
  • 删除所有类型的重复/碎片数据
  • 检查所有钥匙是否到位

步骤 2) 转型

从源服务器提取的数据是原始数据,不能以其原始形式使用。因此,需要对其进行清理、映射和转换。事实上,这是 ETL 过程增加价值和更改数据以生成有洞察力的 BI 报告的关键步骤。

它是重要的 ETL 概念之一,您可以在其中对提取的数据应用一组函数。不需要任何转换的数据称为直接移动传递数据

在转换步骤中,您可以对数据进行自定义操作。例如,如果用户想要数据库中没有的销售收入总和。或者,如果表中的名字和姓氏在不同的列中。可以在加载之前连接它们。

数据集成问题

以下是数据完整性问题:

  1. 同一个人的不同拼写,如 Jon、John 等。
  2. 有多种表示公司名称的方法,例如 Google、Google Inc.
  3. 使用不同的名称,如克利夫兰、克利夫兰。
  4. 可能存在针对同一客户的不同应用生成不同账号的情况。
  5. 在某些数据所需的文件中仍为空白
  6. 在 POS 收集的无效产品作为手动输入可能会导致错误。

在此阶段完成验证

  • 过滤 – 只选择某些列加载
  • 使用规则和查找表进行数据标准化
  • 字符集转换和编码处理
  • 测量单位的转换,如日期时间转换、货币转换、数字转换等。
  • 数据阈值验证检查。例如,年龄不能超过两位数。
  • 从暂存区到中间表的数据流验证。
  • 必填字段不应留空。
  • 清洁(例如,将 NULL 映射到 0 或将 Gender Male 映射到“M”和将女性映射到“F”等)
  • 将一列拆分为多列并将多列合并为一列。
  • 转置行和列,
  • 使用查找来合并数据
  • 使用任何复杂的数据验证(例如,如果一行中的前两列是空的,那么它会自动拒绝处理该行)

步骤 3) 加载

将数据加载到目标数据仓库数据库是 ETL 过程的最后一步。在典型的数据仓库中,需要在相对较短的时间内(夜间)加载大量数据。因此,加载过程应该针对性能进行优化。

在加载失败的情况下,恢复机制应配置为从故障点重新启动而不会丢失数据完整性。数据仓库管理员需要根据当前的服务器性能监控、恢复、取消加载。

加载类型:

  • 初始加载— 填充所有数据仓库表
  • 增量负载——在需要时定期应用正在进行的更改。
  • 完全刷新 —擦除一个或多个表的内容并重新加载新数据。

负载验证

  • 确保关键字段数据既不缺失也不为空。
  • 基于目标表测试建模视图。
  • 检查组合值和计算的度量。
  • 维表和历史表中的数据检查。
  • 检查有关加载的事实和维度表的 BI 报告。

最佳实践 ETL 流程

以下是 ETL 流程步骤的最佳实践:

永远不要尝试清理所有数据:
每个组织都希望所有数据都干净,但他们中的大多数还没有准备好为等待或没有准备好等待。清理所有数据只会花费太长时间,因此最好不要尝试清理所有数据。

永远不要清洗任何东西:
总是计划清理一些东西,因为构建数据仓库的最大原因是提供更干净、更可靠的数据。

确定清理数据的成本:
在清理所有脏数据之前,确定每个脏数据元素的清理成本很重要。

为了加速查询处理,有辅助视图和索引:
为了降低存储成本,将汇总数据存储到磁盘磁带中。此外,需要在要存储的数据量与其详细使用之间进行权衡。在数据粒度级别进行权衡以降低存储成本。

概括:

  • ETL 代表提取、转换和加载。
  • ETL 提供了一种将数据从各种来源移动到数据仓库中的方法。
  • 在第一步抽取中,数据从源系统抽取到暂存区。
  • 在转换步骤中,对从源中提取的数据进行清理和转换。
  • 将数据加载到目标数据仓库是 ETL 过程的最后一步。

参考guru99

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,723评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,003评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,512评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,825评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,874评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,841评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,812评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,582评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,033评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,309评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,450评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,158评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,789评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,409评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,609评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,440评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,357评论 2 352

推荐阅读更多精彩内容