了解数据提取 您可以将所有这些数据拉入中央数据仓库,从而让您能够更快地收集实时见解并在必要时执行分析。
在本文中,我们将探讨数据采集的基础知识以及用于促进该过程的技术。您将了解有助于简化数据采集的工具、出现的常见挑战以及优化该过程以实现可扩展性、效率和数据质量的最佳实践。
什么是数据提取?
数据提取是将来自各种来源的数据收集、导入和加载到集中式系统(例如数据仓库、数据湖或云平台)的过程。此过程使您能够整合来自不同系技术和工具统的数据,并使其可供进一步处理和分析。
高效的数据提取非常重要,因为它为其他数据驱动的操作(如分析、可视化和共享)奠定了基础。
半结构化数据通常被输入到数据湖或云平台等灵活的环境中,在那里它可以以原始形式存储并根据需要进行处理。
关于半结构化数据需要注意的其他事项包括:它需要在摄入过程中进行转化以确保能够被有效地处理或分析。
数据采集类型
从技术上讲,数据提取大致可分为两种主要类型:
这种数据类型通常出现在JSON文件、CSV 文件和NoSQL 数据库等格式中,并且常用于 Web 应用程序、API 和日志系统。
由于结构可以变化,半结构化数据技术和工具在存储和处理方面提供了灵活性,使其适用于处理不断变化或不一致的数据格式的系统。
批量摄取
实时摄取
每种方法都满足不同的需求,并且根据处理数据的速度和量适用于各种用例。
批量数据摄
批量提取是指按预定时间间隔收集和 手机号码数据 处理数据的过程。技术和工具例如,您可以每小时、每天甚至每周收集和处理数据。这种方法通常在不需要即时洞察时使用,它有助于高效管理大量数据。
批量摄取用例的示例:
报告:定期收集数据以生成业务绩效报告。
定期数据同步:定期跨系统同步数据,以保持数据最新。
每日财务数据分析:汇总交易数据以分析营业时间后的财务表现。
实时数据采集
实时(或流式)数据采集涉及在数据生 这里的方法将是目前正在争论的方法之 成时持续收集和处理数据。此方法可让您获得近乎即时的洞察,非常适合需要时间敏感的决策场景。
实时提取用例的示例:
欺诈检测:实时监控交易以识别并应对可疑活动。
物联网传感器数据处理:实时收集和处理来自连接设备(例如温度或运动传感器)的数据。
实时分析仪表板:为跟踪关键绩效指标 (KPI) 和其他指标技术和工具的仪表板提供最新数据。
如果您想了解有关批处理和流式处理之间的区别、扩展流式处理系统以及实际应用的更多信息,我推荐流概念课程。
成为一名数据工程师
通过高级 Python 学习成为数据工程师
数据采集技术
有多种技术可以促进数据采集。每种技术都旨 最後的資料庫 在满足不同的用例和数据处理需求。
您选择的技术取决于 3 个因素:
业务的具体要求。
数据的复杂性。
基础设施已到位。
在本节中,我将介绍三种数据提取技术以及它们最有效的情况。
ETL(提取、转换、加载)
ETL 是一种传统且广泛使用的数据提取技术。在这种方法中,数据从各种源系统中提取,转换为一致且干净的格式,最后加载到数据存储系统(例如数据仓库)中。
对于需要一致的结构化数据进行报告、分析和决技术和工具策的用例,此方法非常有效。
何时使用 ETL:
数据在加载到存储系统之前需要进行预处理(清理或转换)。
结构化数据是优先事项的场景,例如生成业务报告或遵守严格的数据质量要求。
在处理关系数据库或小规模数据环境时,优先考虑干净、可分析的数据。
ETL 管道架构。
ETL 管道架构。
ELT(提取、加载、转换)
与 ETL 相比,ELT 颠倒了操作顺序。在这种方法中,数据从源系统中提取并直接加载到目标系统(通常是数据湖或基于云的平台)中。一旦进入目标存储系统,数据就会根据需要进行转换,通常是在目标环境中进行。
ELT 方法在处理大量非结构化或半结构化数据时特别有效,因为可以推迟转换,直到需要分析时再进行。
何时使用 ELT:
当使用数据湖或云存储时,可以大规模处理原始数据。
处理可能不需要立即转换的多样化、非结构化或半结构化数据时。
当需要灵活性时,因为 ELT 允许在存储环境中按需执行数据转换。
ELT 管道架构。
ELT 管道架构。
变更数据捕获 (CDC)
CDC 是一种识别和捕获源系统中数据所做的更改(例如插入、更新、删除)然后将这些更改实时复制到目标系统的技术。
该技术可确保目标系统始终保持最新状态,而无需重新加载整个数据集。CDC 对于维护数据库之间的实时同步和确保跨系统的一致性非常有效。
何时使用CDC:
当实时数据同步至关重要时,例如技术和工具在高频交易、电子商务交易或运营报告中。
当您需要以最少的延迟或数据刷新时间保持目标系统更新时。
当需要避免重新摄取整个数据集的开销时。
采集的数据源
我们已经确定数据采集涉及从各种来源提取信息。但我们还没有讨论这些结构是什么——这就是我们将在本节中讨论的内容。
提取的数据源通常分为以下三种主要类型:
结构化
半结构化
非结构化数据
当我们检查不同的来源时您将了解到,每个来源都需要不同的处理和加工技术才能有效利用。
结构化数据源
结构化数据组织严密,遵循预定义的模式,更易于处理和分析。结构化数据通常存储在关系数据库中,关系数据库存储相关数据点并提供对相关数据点的访问。数据被排列成具有明确定义行和列的表格。
由于这种组织性,结构化数据是最容易获取的。
MySQL和PostgreSQL等传统工具通常用于处理结构化数据。这些基于 SQL 的工具通过强制执行严格的架构规则简化了提取过程中的验证过程。当数据被提取到这些系统中时,它们会自动确保数据符合数据库表定义的结构。
例如,如果将某一列设置为仅接受整数值,则 MySQL 或 PostgreSQL 将拒绝任何不符合此要求的数据。
关于结构化数据还需要注意以下几点:
它通常以大容量(和可预测的格式)进行收集。
它通常通过批处理过程进行提取,从而实现定期更新以根据需要刷新数据。
半结构化数据源
半结构化数据虽然在某种程度上仍是有组织的,但并不像结构化数据那样遵循严格的预定义模式。相反,它使用标签或标记来提技术和工具供某种组织,但结构仍然灵活。