如今,公司比以往任何时候都可以访问更多的数据源和格式:数据库、网站、SaaS(软件即服务)应用程序和分析工具等等。不幸的是,企业通常存储这些数据的方式使得提取隐藏在其中的有价值的见解具有挑战性——特别是当您需要它来进行更智能的数据驱动的业务决策时。

标准的报告解决方案,如谷歌Analytics和Mixpanel可以提供帮助,但当您的数据分析需求超过容量时,就会出现这种情况。此时,您可以考虑构建一个定制商业智能(BI)解决方案,它将以数据集成层为基础。

ETL最早出现于20世纪70年代,至今仍是使用最广泛的企业数据集成方法。但ETL究竟是什么,ETL又是如何工作的呢?在本文中,我们深入探讨了它是什么,以及您的组织可以如何从中受益。

未来领导者的新数ManBetX万博客服据仓库栈

低代码数据仓库工具ManBetX万博客服和数百个连接器来统一您的数据和报告

女人 女人

目录

什么是ETL?

ETL代表Extract,Transform和lload,这是ETL过程的三个步骤。ETL收集和处理来自不同来源的数据到一个单一的数据存储(例如ManBetX万博客服数据湖),使其更容易分析。

在本节中,我们将更深入地研究提取、转换和加载过程的每一部分。

提取

提取数据是从一个或多个数据源提取数据的行为。在ETL的提取阶段,你可能会处理各种数据源,例如:

  • 关系数据库和非关系数据库
  • 平面文件(例如XML、JSON、CSV、microsoftexcel电子表格等)
  • SaaS应用程序,如CRM(客户关系管理)和ERP(企业资源规划)系统
  • api(应用程序编程接口)
  • 网站
  • 分析和监控工具
  • 系统日志和元数据

我们将ETL分为两类:批量ETL和实时ETL(也就是流ETL)。批处理ETL只按指定的时间间隔提取数据。使用流ETL,一旦数据可以提取,就会通过ETL管道。

变换

提取的数据已经完全符合所需格式的情况很少发生。例如,你可能想:

  • 将非结构化数据重新排列为结构化格式。
  • 将提取的数据限制在几个字段之内。
  • 对数据进行排序,使所有列按一定的顺序排列。
  • 将多个表连接在一起。
  • 清理数据以消除重复和过期的记录。

所有这些变化和更多的变化都发生在转换ETL阶段。有很多数据转换的类型您可以执行的操作,从数据清理和聚合到过滤和验证。

负载

最后,在流程转换、排序、清理、验证和准备好数据之后,您需要将其加载到某个地方的数据存储中。最常见的目标数据库是数据仓库,这是一个设计用于与BI和分析系统一起工作的集ManBetX万博客服中存储库。

谷歌BigQuery和亚马逊红移只是最流行的两种云数据仓库解决方案,不过您也可以在本地托管数据仓库。ManBetX万博客服另一个常见的目标系统是数据湖,这是一个存储库,用于存储尚未清理、结构化和转换的“未细化的”数据。

相关阅读:ETL vs英语教学

在数据仓库中实现ETLManBetX万博客服

当一个ETL过程用于将数据移动到ManBetX万博客服,一个单独的层代表每个阶段:

镜子/原始层:这一层是源文件或表的副本,没有任何逻辑或扩充。该流程将源数据复制并添加到目标镜像表中,然后将保存准备进行转换的历史原始数据。

分段层:一旦来自镜像表的原始数据转换,所有转换都将在staging表中结束。这些表保存着正在进行的ETL周期增量部分的数据的最终形式。

模式层:这些是目标表,其中包含在清理、充实和转换后的最终形式的所有数据。

聚合层:在某些情况下,从完整数据集中将数据聚合到每日或存储级别是有益的。这可以提高报表性能,支持添加业务逻辑来计算度量,并使报表开发人员更容易理解数据。

为什么需要ETL?

ETL为您节省了大量的数据提取和准备时间,您可以将这些时间更好地用于评估业务。实践ETL也是健康数据管理工作流的一部分,可以确保高数据质量、可用性和可靠性。

ETL中的三个主要组件都只在一个专用的数据流中运行一次,从而节省了时间和开发工作:

精华:回想一下这句话:“一个链条的强度取决于它最薄弱的一环。”在ETL中,第一个环节决定了链的强度。提取阶段决定使用哪些数据源、每个数据源的刷新率(速度)以及它们之间的优先级(提取顺序)——所有这些都严重影响您洞察的时间。

变换:在提取之后,转换过程为初始数据沼泽带来了清晰和有序。日期和时间组合成单一格式,字符串解析成它们真正的潜在含义。位置数据转换为坐标、邮政编码或城市/国家。转换步骤还对度量值进行总结、四舍五入和平均,并删除无用的数据和错误或丢弃它们以供以后检查。它还可以屏蔽个人身份信息(PII),以符合GDPR、CCPA和其他隐私要求。

负载:在最后一个阶段,就像在第一个阶段一样,ETL决定目标和刷新率。加载阶段还确定加载是增量进行的,还是需要对新数据批次进行“upsert”(更新现有数据并插入新数据)。

每月在你的收件箱里获得一次深刻的行业见解

每月从思想领袖那里获得独家提示和技巧、行业最佳实践和见解!

每月的时事通讯

女人 女人

现代ETL如何帮助您的业务?

“大数据”名副其实——不仅在规模和数量上,而且在影响、可能的解释和用例上。现代组织中的每个部门都需要从大量数据中获得独特的见解。例如:

  • 销售团队需要关于潜在客户的准确、高质量的信息。
  • 营销团队需要评估活动的转化率,并制定未来的策略。
  • 客户成功团队希望深入研究以解决问题并改善客户服务。

通过提取和准备员工所需的数据,ETL可以帮助解决这些问题和其他问题。ETL使在企业数据上运行报告和分析工作流变得非常简单、快速和高效。

为了满足这些不同的需求,ETL还帮助创建一个支持数据治理和数据民主的环境。数据治理是对企业数据的全面管理,包括其可用性、可用性、完整性和安全性。与数据民主在你的公司里,每个需要复杂数据分析的人都可以访问它。这减少了陡峭的学习曲线,帮助人们提出正确的问题,并帮助澄清他们得到的答案。

ETL是如何工作的

在本节中,我们将稍微深入一些,深入研究ETL过程中的三个步骤。

您可以使用脚本来实现ETL(即自定义DIY代码),也可以使用专用的ETL工具.ETL系统执行许多重要功能,包括:

解析/清洗:应用程序生成的数据可以是各种格式,如JSON、XML或CSV。解析阶段将数据映射为具有标题、列和行的表格式,然后提取指定的字段。

数据浓缩:为分析准备数据通常需要特定的数据丰富步骤,包括注入专家知识、解决差异和纠正错误。

设置速度:“速度”是指数据加载的频率,即插入新数据和更新现有数据。

数据验证:在某些情况下,数据是空的、损坏的或缺少关键元素。在数据验证期间,ETL会发现这些情况,并决定是否停止整个流程、跳过数据或将数据保留以供人工检查。

数据提取

数据抽取包括以下四个步骤:

识别要提取的数据:数据提取的第一步是确定要合并到数据仓库中的数据源。ManBetX万博客服这些来源可能来自关系SQL数据库(如MySQL)或非关系NoSQL数据库(如MongoDB或Cassandra)。这些信息也可能来自Salesforce等SaaS平台或其他应用程序。在确定数据源之后,您需要确定要提取的特定数据字段。

估计数据提取的大小:数据提取的大小很重要。您提取的是50mb、50g还是50pb的数据?大量的数据需要不同的ETL策略。例如,通过将数据集聚合到月级而不是日级,可以使更大的数据集更易于管理,这减少了提取的大小。或者,您可以升级您的硬件来处理更大的数据集。

选择提取方法:由于数据仓库ManBetX万博客服需要不断更新以获得最准确的报告,因此数据提取是一个持续进行的过程,可能需要每分钟进行一次。提取信息主要有三种方法:

更新通知:首选的提取方法包括更新通知。当源系统的一个记录发生更改时,源系统将发送一个通知,然后数据仓库只使用新信息进行更新。ManBetX万博客服

增量提取:第二种方法是增量提取,在无法进行更新通知时可以使用这种方法。这涉及到识别哪些记录已经更改,并仅对那些记录执行提取。一个潜在的挫折是增量提取不能总是识别已删除的记录。

完整的提取:当前两种方法不起作用时,通过完全提取对所有数据进行完全更新是必要的。请记住,这种方法可能只适用于较小的数据集。

评估你的SaaS平台:以前,企业依靠内部应用程序进行会计和其他记录。这些应用程序使用在现场服务器上维护的OLTP事务数据库。如今,越来越多的企业使用像谷歌Analytics、HubSpot和Salesforce这样的SaaS平台。要从其中一个平台提取数据,您需要一个与平台的独特API集成的解决方案。Integrate.iois one such solution.

基于云的ETL解决方案Integrate.io从流行的SaaS api中提取数据:

•为最流行的SaaS应用程序设计开箱即用的API集成。Integrate.iooffers over 100 out-of-the-box AI integrations.

•浏览复杂的REST api,甚至自动将SOAP转换为REST。

•创建策略来处理在不同SaaS api中发现的自定义资源和字段——以及许多内置资源端万博手机登录平台点。

•为失败的数据连接提供持续更新和修复。例如,Salesforce可能会在不通知用户的情况下更新它的API,导致人们争相寻找解决方案。像integration这样的ETL平台。io与SaaS开发人员建立关系,并在这些更新上线前提前收到通知,以避免不必要的意外。

数据转换

在传统的ETL策略中,发生在分期区域(提取后)的数据转换是“多阶段数据转换”。在ELT中,将数据加载到数据仓库后发生的数据转换称为“仓库内数据转换”。ManBetX万博客服

无论您选择ETL还是ELT,您都可能需要执行以下一些数据转换:

重复数据删除(正火):识别和删除重复的信息。

关键重组:从一个表到另一个表绘制键连接。

清洗:包括删除旧的、不完整的和重复的数据,以最大化数据的准确性——可能通过解析来删除语法错误、拼写错误和记录片段。

格式修订:将不同数据集中的格式(如日期/时间、男性/女性和测量单位)转换为一致的格式。

推导:创建应用于数据的转换规则。例如,在分析业务收入数字之前,可能需要从它们中减去某些成本或税收负债。

聚合:收集和搜索数据,以便以汇总的报告格式显示数据。

集成:协调跨数据仓库应用于相同数据元素的不同名称/值,以便每个元素都有标准的名称和定义。ManBetX万博客服

过滤:选择数据集中的特定列、行和字段。

分裂:将一个列拆分为多个列。

加入:链接来自两个或多个来源的数据,例如跨多个SaaS平台添加支出信息。

总结:通过计算价值总额创建不同的业务指标。例如,您可以将特定销售人员的所有销售额相加,以创建特定时期的总销售指标。

验证:设置在不同情况下要遵循的自动规则。例如,如果一行中的前5个字段为NULL,那么可以将该行标记为要调查的行,或者防止它与其余信息一起处理。

未来领导者的新数ManBetX万博客服据仓库栈

低代码数据仓库工具ManBetX万博客服和数百个连接器来统一您的数据和报告

女人 女人

数据加载

数据加载是将提取的信息加载到目标数据存储库中的过程。加载是一个持续的过程,可以通过“完全加载”(第一次将数据加载到数据仓库)或“增量加载”(用新信息更新数据仓库)进行。ManBetX万博客服因为增量负载是最复杂的,所以我们将在本节中重点讨论它们。

增量负载类型:

增量加载提取自上一次增量加载以来出现的加载信息。这可以通过两种方式发生:

批量增量负载:数据仓库ManBetX万博客服以包或批量的方式接收信息。如果是大批处理,最好在非高峰时间执行批处理加载——每天、每周或每月一次——以防止系统变慢。然而,现代的数据仓库也可以通过像ManBetX万博客服integration .io这样的ETL平台以每分钟为单位接收小批量的信息。这允许他们为最终用户实现近似的实时更新。

流增量负载:数据仓库ManBetX万博客服会在新数据实时出现时接收它。当终端用户需要实时更新时(例如,为了得到最新的决策),这种方法尤其有价值。也就是说,流增量负载只有在更新涉及非常少量的数据时才可能实现。在大多数情况下,分分钟的批处理更新提供了比实时流更健壮的解决方案。

增量加载的挑战:

增量负载会破坏系统性能并导致一系列问题,包括:

数据结构变化:数据源或数据仓库中的数据格式可能需要根据信息系统的需要进行演变。ManBetX万博客服然而,更改系统的一个部分可能会导致不兼容,从而干扰加载过程。为了防止与不一致、损坏或不一致的数据相关的问题,在进行适当的调整之前,必须缩小范围并回顾微小的更改如何影响整个生态系统。

以错误的顺序处理数据:数据管道可能遵循复杂的轨迹,导致数据仓库以错误的顺序处理、更新或删除信息。ManBetX万博客服这可能导致腐败或不准确的信息。因此,监视和审计数据处理的顺序是至关重要的。

未能发现问题:快速检测ETL工作流程中的任何问题都是至关重要的:例如,当API出现故障时,当API访问凭证过期时,当系统减速中断API的数据流时,或者当目标数据仓库出现故障时。ManBetX万博客服发现问题的时间越早,修复问题的速度就越快,纠正由此产生的不准确/损坏的数据也就越容易。