什么是ETL?
这些天,公司可以访问更多的数据来源和格式,而不是以前的:数据库,网站,SaaS(软件作为服务)应用程序和分析工具,以命名为少。不幸的是,业务经常存储此数据的方式使其充满挑战,以提取隐藏在内部的有价值的见解 - 特别是当您需要进行更智能的数据驱动的业务决策时。
标准报告解决方案,如Google Analytics和MixPanel可以提供帮助,但是当您的数据分析需要超出容量的时间。此时,您可能会考虑构建一个 自定义商业智能(BI)解决方案,它将将数据集成层作为其基础。
在20世纪70年代首次新兴,ETL仍然是最广泛使用的企业数据集成方法。但是什么是ETL,ETL如何工作?在本文中,我们深入了解它是什么以及您的组织如何从中受益。
什么是ETL?
Etl. 代表 E.XTRACT, T.ransform和 L.OAD,这是ETL过程的三个步骤。 ETL收集和处理数据 从各种来源到单个数据存储(例如,数据仓库或数据湖),使分析更容易。
在本节中,我们将仔细研究每个提取物,转换和负载过程。
提炼
提取 数据是从一个或多个数据源提取数据的行为。在ETL的提取相,可以处理各种数据,诸如来源:
- 关系型和非关系数据库
- 平面文件 (例如,XML,JSON,CSV,Microsoft Excel电子表格等)
- SaaS应用,如CRM(客户关系管理)和ERP(企业资源规划)系统
- API(应用编程接口)
- 网站
- 分析和监控工具
- 系统日志和元数据
我们把ETL分为两类:批量ETL和 实时ETL (也称为流ETL)。批ETL只在特定的时间间隔中提取数据。随着流ETL,数据通过ETL管道尽快去,因为它是可用于提取。
转变
这是很少,你提取的数据已经在你需要它的确切格式的情况。例如,您可能希望:
- 重新排列非结构化数据到结构化格式。
- 限制你已经提取到短短字段中的数据。
- 对数据进行排序,使所有的列都按照一定的顺序。
- 联合多个表。
- 清理数据,以消除重复的和出的最新记录。
所有这些变化,并在更多的地方起飞 转型 相ETL的。有许多 数据类型转换的 你可以执行,从数据整理和汇总,以筛选和验证。
加载
最后,一旦这个过程已经改变,分拣,清洗,验证和准备的数据,您需要将其加载到数据存储的地方。最常见的目标数据库是数据仓库,集中存储库旨在与BI和分析系统的工作。
谷歌的BigQuery和 亚马逊红移 只是两个最流行的云数据仓库解决方案,虽然你也可以承载本地数据仓库。另一种常见的目标系统是数据湖,用来存放“粗”的数据,你还没有清理,结构化,并转化库。
在数据仓库中实现ETL
当AN. ETL过程 用于将数据移动到a中 数据仓库,单独的层表示每个阶段:
镜像/原始层: 此图层是源文件或表的副本,没有逻辑或富集。过程复制并将源数据添加到目标镜像表,然后保存已准备好转换的历史原始数据。
分期层: 一旦从镜子表变换到原始数据,所有转换都在分段表中结束。这些表格持有ETL周期的增量部分的数据的最终形式。
架构层: 这些是目的地表,它在清洁,富集和转换后以最终形式包含所有数据。
聚合层: 在某些情况下,它有利于将数据聚合到每日或存储级别从完整数据集。这可以提高报告性能,使得添加业务逻辑以计算测量,并使报告开发人员更容易理解数据。
你为什么需要ETL?
ETL为数据提取和准备工作提供了重要的时间 - 您可以更好地花费在评估您的业务时。练习ETL也是健康数据管理工作流程的一部分,确保高数据质量,可用性和可靠性。
ETL中的三个主要组件中的每一个通过在专用数据流中仅运行一次,节省时间和开发工作:
提炼: 回想一下“链条只是最薄弱的链接。”在ETL中,第一个链接决定了链条的强度。提取阶段确定要使用哪些数据源,每个来源的刷新率(速度)以及它们之间的优先级(提取顺序) - 所有这些都会严重影响您的洞察力。
转变: 提取后,转换过程带来清晰度并向初始数据沼泽顺序排列。日期和时间与单个格式化,字符串解析为他们的真实潜在含义。位置数据转换为坐标,邮政编码或城市/国家。 Transforf Step还借给了,回合和平均度量,并且删除了无用的数据和错误或丢弃它们以供稍后检查。它还可以掩盖个人可识别的信息(PII)以遵从GDPR,CCPA和其他隐私要求。
加载: 在最后一个阶段,就像在第一个阶段一样,ETL确定目标和刷新率。负载阶段还确定加载是否会逐步发生,或者如果它需要“Upsert”(更新现有数据并插入新数据),以获取新批次的数据。
现代ETL如何帮助您的业务?
“大数据”真正辜负了它的名字 - 不仅规模和数量,还有影响,可能的解释和用例。现代组织的每个部门都需要大量数据的独特见解。例如:
- 销售团队需要准确,高质量的关于潜在客户的信息。
- 营销团队需要评估竞选活动的转换率,并制定未来的策略。
- 客户成功团队希望介绍解决问题并改善客户服务。
通过提取和准备数据,您的员工需要,ETL可以帮助解决这些问题和其他问题。 ETL在您的企业数据上运行报告和分析工作流程,使其更加简单,更快,更高效。
在满足这些不同的需求方面,ETL还有助于创造一个维持数据治理和数据民主的环境。 数据治理 是您的企业数据的整体管理,包括其可用性,可用性,完整性和安全性。和 数据民主,需要复杂的数据分析的公司中的每个人都可以访问它。这减少了陡峭的学习曲线,帮助人们提出正确的问题,并有助于澄清他们得到的答案。
Etl如何工作
在本节中,我们将深入更深,深入了解ETL过程中的三个步骤中的每一个。
您可以使用脚本来实现ETL(即,自定义DIY代码),或者您可以使用专用 ETL工具。 ETL系统执行几个重要功能,包括:
解析/清洁: 应用程序生成的数据可以是JSON,XML或CSV等各种格式。解析阶段将数据映射到具有标题,列和行的表格格式,然后提取指定的字段。
数据富集: 准备分析数据通常需要某些数据丰富步骤,包括注入专家知识,解决差异和纠正错误。
设置速度: “速度”是指数据加载的频率,即插入新数据并更新现有数据。
数据验证: 在某些情况下,数据是空的,损坏的,或缺少的关键元素。在数据验证期间,ETL找到这些事件并确定是否停止整个过程,跳过数据或将数据设置为人类检查。
数据提取
数据提取涉及以下四个步骤:
确定要提取的数据: 数据提取的第一步是识别要将数据源合并到您的数据仓库中。这些来源可能来自关系SQL数据库,如MySQL或非MongoDB或Cassandra等非关系NoSQL数据库。信息也可以来自SausForce或其他应用程序的SaaS平台。识别数据源后,您需要确定要提取的特定数据字段。
估计数据提取的大量是: 数据提取的大小很重要。您是否提取50兆字节,50兆字节,或50个鼠标的数据?更大量的数据需要不同的ETL策略。例如,您可以通过将其汇总到月级而不是日级来使更大的数据集更能管理,这减少了提取的大小。或者,您可以升级硬件以处理更大的数据集。
选择提取方法: 由于数据仓库需要不断更新最准确的报告,因此数据提取是一个正在进行的过程,可能需要在分钟内发生。提取信息有三种主要方法:
• 更新通知: 优选的提取方法涉及更新通知。源系统将在其中一个记录已更改时发送通知,然后仅使用新信息更新数据仓库。
• 增量提取: 您可以在更新通知时使用的第二种方法是增量提取。这涉及识别哪些记录已更改并仅执行仅这些记录的提取。潜在的挫折是增量提取不能总是识别已删除的记录。
• 全提取: 当前两种方法不起作用时,需要通过完全提取完成所有数据的完整更新。请记住,该方法可能仅为较小的数据集是可行的。
评估您的SaaS平台: 以前依靠内部申请的企业进行会计和其他记录保存。这些应用程序使用了他们在现场服务器上维护的OLTP事务数据库。如今,更多的企业使用谷歌分析,集中式和Salesforce等SaaS平台。要从其中一种提取数据,您需要一个与平台唯一API集成的解决方案。 Xplenty是一种这样的解决方案。
基于云的ETL解决方案 Xplenty 通过以下方式从流行的SaaS API提取数据:
•工程出于最流行的SaaS应用程序的开箱即用的API集成。 Xplenty提供100多个开箱即用的II集成。
•导航复杂的REST API,甚至转换SOAP自动休息。
•创建处理自定义资源和字段的策略 - 以及在不同的SaaS API中找到的许多内置资源端点。
•为失败的数据连接提供常量更新和修复。例如,Salesforce可能会在没有通知用户的情况下更新其API,从而导致查找解决方案的争先恐喜声。 ETL平台如xplenty开发与SaaS开发人员的关系,并在播放之前接收这些更新的高级通知,这可以防止不必要的惊喜。
数据转换
在传统的ETL策略中,在分期区域(提取后)中发生的数据转换是“多级数据转换”。在elt中,将数据加载到数据仓库后发生的数据转换是“仓库数据转换。”。
无论您是选择ETL还是ELT,您可能需要执行以下一些数据转换:
重复数据删除(归一化): 识别并删除重复信息。
重点重组 将键连接从一个表绘制到另一个表。
清洁: 涉及删除旧的,不完整和重复的数据以最大化数据准确性 - 或许通过解析删除记录的语法错误,拼写错误和片段。
格式修订: 将格式转换为日期/时间,男性/女性和测量单位的不同数据集 - 相同的格式。
推导: 创建适用于数据的转换规则。例如,也许您需要在分析它们之前从商业收入数字中减去某些成本或税收负债。
聚合: 收集并搜索数据,以便以总结报告格式呈现它。
一体化: 调整在数据仓库中适用于相同数据元素的不同名称/值,以便每个元素具有标准名称和定义。
过滤: 在数据集中选择特定列,行和字段。
分裂: 将一列分成多个列。
加入: 链接来自两个或更多源的数据,例如在多个SaaS平台上添加支出信息。
摘要: 通过计算值总计创建不同的业务指标。例如,您可以添加特定销售人员所做的所有销售,以创建特定时期的总销售指标。
验证: 在不同情况下建立自动规则。例如,如果行中的前五个字段为null,则可以标记行进行调查或阻止其与其余信息进行处理。
数据加载
数据加载是将提取的信息加载到目标数据存储库中的过程。加载是一个持续的进程,可以通过“完全加载”(第一次将数据加载到仓库中)或“增量加载”(如您使用新信息更新数据仓库)。因为增量负载是最复杂的,所以我们将专注于本节。
增量负载类型:
增量加载自上次增量负载以来出现的提取和加载信息。这可能以两种方式发生:
批量增量负载: 数据仓库在数据包或批处理中摄取信息。如果它是一个大的批次,最好在非高峰时段进行批量负载 - 每天,每周或每月基础进行 - 防止系统放缓。然而,现代数据仓库也可以在Xplenty这样的ETL平台上将小批次的信息进行分钟。这允许它们实现最终用户的实时更新的近似值。
流增量负载: 数据仓库在实时出现时摄取新数据。当最终用户需要实时更新时,该方法特别有价值(例如,用于最新的决策)。也就是说,只有当更新涉及非常少量的数据时才可以进行流增量负载。在大多数情况下,分钟批量更新提供比实时流的更强大的解决方案。
增量负载挑战:
增量负载可以扰乱系统性能并导致大量问题,包括:
数据结构更改: 数据源或数据仓库中的数据格式可能需要根据您的信息系统的需求而发展。但是,改变系统的一部分可能导致干扰加载过程的不兼容性。为了防止与不一致,腐败或不一致的数据有关的问题,重要的是缩小和审查在进行适当调整之前会影响总生态系统的微小变化。
以错误的顺序处理数据: 数据流水线可以遵循复杂的轨迹,以错误的顺序导致数据仓库处理,更新或删除信息。这可能导致腐败或不准确的信息。出于这个原因,它对于监控和审核数据处理的排序至关重要。
未能检测到问题: 快速检测ETL工作流程的任何问题都是至关重要的您越早检测到问题,您可以修复它的速度,并且更容易纠正由其产生的不准确/损坏数据。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/160406.html