什么是 ETL:终极指南 101

已发表: 2022-05-25

公司从各种来源收集的数据越多,他们在分析、数据科学和机器学习方面的能力就越大。 但伴随着机遇,与数据处理相关的担忧也随之增加。 毕竟,在开始构建报告和搜索见解之前,必须处理所有这些原始和不同的数据:清理、检查、转换为单一格式并合并。 提取转换和加载(或 ETL)流程和工具用于这些任务。 在本文中,我们详细分析了 ETL 是什么以及为什么分析师和营销人员需要 ETL 工具。

目录

  • 什么是 ETL,为什么它很重要?
    • ETL是如何产生的简史
  • ETL 过程的工作原理
    • 步骤 1. 提取数据
    • 步骤 2. 转换数据
    • 步骤 3. 加载数据
  • ETL的优势
  • ETL 的挑战
  • ETL 与 ELT — 有什么区别?
  • 成功实施 ETL 的 5 个技巧
  • 如何选择 ETL 工具
  • ETL/ELT 和 OWOX BI
  • 关键要点

什么是 ETL,为什么它很重要?

提取、转换、加载是一个数据集成过程,它是数据驱动分析的基础,由三个阶段组成:

  1. 数据是从原始来源中提取的
  2. 将数据转换为适合分析的格式
  3. 数据被加载到存储、数据湖或商业智能系统中

ETL 工具允许公司从多个来源收集各种类型的数据,并将这些数据合并到一个集中的存储位置,例如 Google BigQuery、Snowflake 或 Azure。

提取、转换和加载流程为成功的数据分析奠定了基础,并创建了可靠数据的单一来源,确保了公司所有数据的一致性和相关性。

为了对决策者尽可能有用,企业的分析系统必须随着业务的变化而变化。 ETL 是一个常规过程,您的分析系统必须灵活、自动化且文档齐全。

ETL是如何产生的简史

ETL 在 1970 年代开始流行,当时公司开始使用多个存储库或数据库。 因此,有必要有效地整合所有这些数据。

在 1980 年代后期,出现了数据存储技术,它提供了对来自多个异构系统的数据的集成访问。 但问题是许多数据库需要供应商特定的 ETL 工具。 因此,不同的部门往往会选择不同的ETL工具来配合不同的数据存储解决方案。 这导致需要不断为不同的数据源编写和调整脚本。 数据量和复杂性的增加导致了自动化 ETL 流程,避免了手动编码。

ETL 过程的工作原理

ETL 过程包括三个步骤:提取、转换和加载。 让我们仔细看看它们中的每一个。

步骤 1. 提取数据

在此步骤中,提取来自不同来源的原始(结构化和部分结构化)数据并将其放置在中间区域(临时数据库或服务器)中以供后续处理。

此类数据的来源可能是:

  • 网站
  • 移动设备和应用程序
  • CRM/ERP 系统
  • API接口
  • 营销服务
  • 分析工具
  • 数据库
  • 云、混合和本地环境
  • 平面文件
  • 电子表格
  • SQL 或 NoSQL 服务器
  • 电子邮件
  • 物联网 (IoT) 数据传输工具,例如自动售货机、ATM 和商品传感器

从不同来源收集的数据通常是异构的,并以不同的格式呈现:XML、JSON、CSV 等。 因此,在提取它之前,您必须创建一个描述数据源和目标数据之间关系的逻辑数据映射。

在这一步,有必要检查是否:

  • 提取的记录与源数据匹配
  • 垃圾邮件/不需要的数据将进入下载
  • 数据满足目标存储要求
  • 存在重复和碎片数据
  • 所有钥匙都到位

可以通过三种方式提取数据:

  • 部分提取 - 源会通知您最新的数据更改。
  • 不通知的部分提取——并非所有数据源都提供更新通知; 但是,他们可以指出已更改的记录并提供此类记录的摘录。
  • 完全提取——一些系统根本无法确定哪些数据已被更改; 在这种情况下,只能完全提取。 为此,您需要一份格式相同的最新上传文件的副本,以便查找并进行更改。

此步骤可以由分析人员手动执行,也可以自动执行。 但是,手动提取数据非常耗时,并且可能导致错误。 因此,我们建议使用像 OWOX BI 这样的工具来自动化 ETL 过程并为您提供高质量的数据。

步骤 2. 转换数据

在此步骤中,将中间区域(临时存储)中收集的原始数据转换为满足业务需求和目标数据存储要求的统一格式。 这种方法——使用中间存储位置而不是直接将数据上传到最终目的地——允许您在突然出现问题时快速回滚数据。

数据转换可以包括以下操作:

  • 清理——消除数据不一致和不准确之处。
  • 标准化——将所有数据类型转换为相同的格式:日期、货币等。
  • 重复数据删除 — 排除或丢弃冗余数据。
  • 验证——删除未使用的数据并标记异常。
  • 重新排序数据的行或列
  • 映射 — 将来自两个值的数据合并为一个,或者相反,将数据从一个值拆分为两个。
  • 补充——从其他来源提取数据。
  • 根据目标数据存储的模式将数据格式化成表
  • 审核数据质量和审查合规性
  • 其他任务——应用任何附加/可选规则来提高数据质量; 例如,如果表中的名字和姓氏在不同的列中,您可以合并它们。

转换可能是 ETL 过程中最重要的部分。 它可以帮助您提高数据质量,并确保将处理后的数据交付到完全兼容的存储中,并准备好用于报告和其他业务任务。

根据我们的经验,一些公司仍然没有准备业务就绪数据并在原始数据上构建报告。 这种方法的主要问题是无休止地调试和重写 SQL 查询。 因此,我们强烈建议不要忽略此阶段。

OWOX BI 自动从不同来源收集原始数据并将其转换为报告友好的格式。 您会收到现成的数据集,这些数据集会自动转换为所需的结构,同时考虑到对营销人员很重要的细微差别。 您不必花时间开发和支持复杂的转换、深入研究数据结构并花费数小时寻找差异的原因。

预约演示

步骤 3. 加载数据

此时,来自暂存区域的已处理数据将上传到本地或云中的目标数据库、存储或数据湖。

这为公司内的不同团队提供了对业务就绪数据的便捷访问。

有几个上传选项:

  • 初始加载——第一次填充数据存储中的所有表。
  • 增量加载——根据需要定期写入新数据。 在这种情况下,系统会将传入数据与现有数据进行比较,并仅在检测到新数据时创建附加记录。 这种方法通过减少数据量来降低处理数据的成本。
  • 完全更新 - 删除表格内容并使用最新数据重新加载表格。

您可以使用 ETL 工具或手动使用自定义代码和 SQL 查询来执行这些步骤中的每一个。

ETL的优势

1. ETL 节省您的时间并帮助您避免手动数据处理。

ETL 流程的最大好处是它可以帮助您自动收集、转换和整合数据。 您可以节省时间和精力,并且无需手动导入大量行。

2. ETL 使处理复杂数据变得容易。

随着时间的推移,您的业务必须处理大量复杂多样的数据:时区、客户名称、设备 ID、位置等。添加更多属性,您将不得不全天候格式化数据。 此外,传入的数据可以是不同的格式和不同的类型。 ETL 让您的生活更轻松。

3. ETL 降低了与人为因素相关的风险。

无论您对数据多么谨慎,都无法避免错误。 例如,数据可能在目标系统中意外重复,或者手动输入可能包含错误。 通过消除人为影响,ETL 工具可帮助您避免此类问题。

4. ETL 有助于改进决策。

通过自动化关键数据工作流程并减少出错的机会,ETL 确保您收到的用于分析的数据是高质量的并且值得信赖。 高质量的数据是做出更好的企业决策的基础。

5. ETL 增加投资回报率。

因为它可以节省您的时间、精力和资源,ETL 流程最终会帮助您提高投资回报率。 此外,通过改进业务分析,您可以增加利润。 这是因为公司依靠 ETL 流程来获取整合数据并做出更好的业务决策。

ETL 的挑战

在选择 ETL 工具时,值得依赖您的业务需求、收集的数据量以及您如何使用它。 在设置 ETL 流程时,您会遇到哪些挑战?

1. 处理来自各种来源的数据。

一家公司可以处理数百个具有不同数据格式的来源。 这些可以包括结构化和部分结构化数据、实时流数据、平面文件、CSV 文件、S3 篮子、流源等。 其中一些数据最好以数据包的形式转换,而对于其他数据流数据转换效果更好。 以最有效和最实用的方式处理每种类型的数据可能是一个巨大的挑战。

2. 数据质量至关重要。

为了使分析有效地工作,您需要确保准确和完整的数据转换。 手动处理、定期错误检测和重写 SQL 查询可能会导致错误、重复或数据丢失。 ETL 工具将分析师从日常工作中解救出来,并有助于减少错误。 数据质量审计识别不一致和重复,如果您正在处理不兼容的数据类型和其他问题,监控功能会发出警告。

3. 你的分析系统必须是可扩展的。

公司收集的数据量只会随着时间的推移而增长。 目前,您可以对本地数据库和批量下载感到满意,但对于您的业务来说是否足够? 能够将 ETL 流程和容量扩展到无穷大,真是太好了! 当涉及到数据驱动的决策时,要从大而快地思考:利用云存储(如 Google BigQuery),让您快速、廉价地处理大量数据。

ETL 与 ELT — 有什么区别?

ELT(提取、加载、转换)本质上是对熟悉的 ETL 过程的现代看法,其中数据在加载到存储进行转换。

传统的 ETL 工具在将数据加载到存储之前从不同来源提取和转换数据。 随着云存储的出现,无需在源数据存储位置和目标数据存储位置之间的中间阶段清理数据。

ELT 与高级分析特别相关。 例如,您可以将原始数据上传到数据湖中,然后将其与其他来源的数据合并或使用它来训练预测模型。 保持数据原始允许分析师扩展他们的能力。 这种方法速度很快,因为它利用了现代数据处理机制的力量并减少了不必要的数据移动。

你应该选择哪个? ETL 还是 ELT? 如果您在本地工作并且您的数据是可预测的并且仅来自少数几个来源,那么传统的 ETL 就足够了。 然而,随着越来越多的公司转向云或混合数据架构,它变得越来越不重要。

成功实施 ETL 的 5 个技巧

如果要实施成功的 ETL 流程,请执行以下步骤:

步骤 1.清楚地确定您希望收集和存储的数据的来源。 这些来源可以是 SQL 关系数据库、NoSQL 非关系数据库、软件即服务 (SaaS) 平台或其他应用程序。 连接数据源后,定义要提取的特定数据字段。 然后以原始形式接受或输入来自各种来源的数据。

步骤 2.使用一组业务规则(例如聚合、附件、排序、合并函数等)统一这些数据。

步骤 3.转换后,必须将数据加载到存储中。 在这一步,您需要决定数据上传的频率。 指定是要记录新数据还是更新现有数据。

第 4 步:在将数据传输到存储库之前和之后检查记录数非常重要。 应该这样做以排除无效和冗余数据。

步骤 5.最后一步是使用特殊工具自动化 ETL 过程。 这将帮助您节省时间、提高准确性并减少手动重新启动 ETL 过程所涉及的工作量。 使用 ETL 自动化工具,您可以通过简单的界面设计和控制工作流。 此外,这些工具还具有分析和数据清理等功能。

如何选择 ETL 工具

首先,让我们弄清楚存在哪些 ETL 工具。 目前有四种类型可用。 有些设计为在本地环境中工作,有些在云中工作,有些在这两种环境中工作。 选择哪一个取决于您的数据所在的位置以及您的企业有什么需求:

  1. 用于在本地存储中批量处理数据的 ETL 工具。
  2. 云 ETL 工具可以直接从源中提取数据并将其加载到云存储。 然后,他们可以使用云的功能和规模来转换数据。 示例:OWOX BI。
  3. Apache Airflow、Apache Kafka 和 Apache NiFi 等 ETL 开源工具是付费服务的预算替代方案。 有些不支持复杂的转换,并且可能存在客户支持问题。
  4. 实时 ETL 工具。 使用分布式模型和数据流功能实时处理数据。

选择 ETL 工具时要注意什么:

  • 易于使用和维护
  • 工作速度
  • 安全级别
  • 所需连接器的数量和种类
  • 能够与数据平台的其他组件无缝协作,包括数据存储和数据湖

ETL/ELT 和 OWOX BI

借助 OWOX BI,您可以在安全的 Google BigQuery 云存储中收集任何复杂性报告的营销数据,而无需分析师和开发人员的帮助。

OWOX BI 带来的好处:

  • 自动从各种来源收集数据
  • 自动将原始数据导入 Google BigQuery
  • 清理、去重、监控质量和更新数据
  • 准备和建模业务就绪数据
  • 无需分析师帮助或 SQL 知识即可构建报告

OWOX BI 腾出您宝贵的时间,让您可以更加关注优化广告活动和增长区域。

您不再需要等待分析师的报告。 获取基于模拟数据且适合您业务的现成仪表板或单独报告。

使用 OWOX BI 的独特方法,您可以修改数据源和数据结构,而无需覆盖 SQL 查询或重新排序报告。 这与新的 Google Analytics 4 的发布尤其相关。

关键要点

公司收集的数据量每天都在增加,并将继续增长。 现在使用本地数据库和批量下载就足够了,但是很快它就不能满足业务需求了。 因此,扩展 ETL 流程的可能性就派上用场了,并且与高级分析特别相关。

ETL 工具的主要优点是:

  • 节省您的时间。
  • 避免人工数据处理。
  • 使处理复杂数据变得容易。
  • 降低与人为因素相关的风险。
  • 帮助改进决策。
  • 增加投资回报率。

在选择 ETL 工具时,请考虑您企业的特殊需求。 如果您在本地工作并且您的数据是可预测的并且仅来自少数几个来源,那么传统的 ETL 就足够了。 但不要忘记,越来越多的公司正在转向云或混合架构,您必须考虑到这一点。