数据处理机制可以采用两种方法来检索引入的数据,处理这些数据以进行转换和生成模型,然后保存转换的数据和模型。 这些方法称为 ETL 和 ELT。
ETL 表示提取、转换和加载。 原始数据会在保存之前进行检索和转换。 提取、转换和加载步骤可以作为持续操作管道来执行。 它适用于只需要简单模型的系统,项目之间几乎不存在依赖关系。 例如,此类型的过程通常用于基本数据清理任务、删除重复数据以及对单个字段的内容重新设置格式。
另一种方法为 ELT。 ELT 是提取、加载和转换的缩写。 此过程与 ETL 的不同之处在于,数据在转换数据之前进行存储。 将转换的数据和模型写回到存储之前,数据处理引擎可以采用迭代方法,从存储中检索和处理数据。 ELT 更适合于构建依赖于数据库中多个项目的复杂模型,通常使用定期批处理。
ELT 是适用于云的可伸缩方法,因为它可以利用所提供的广泛处理能力。 ETL 更加面向流的方法更侧重于吞吐量。 但是,ETL 可以在存储数据前对它进行筛选。 通过这种方式,ETL 可帮助实现数据隐私和合规性,在数据到达分析数据模型之前消除敏感数据。
Azure 提供了多个可用于实现 ELT 和 ETL 方法的选项。 例如,如果将数据存储在 Azure SQL 数据库中,则可以使用 SQL Server Integration Services。 Integration Services 可以提取和转换来自多种源(如 XML 数据文件、平面文件和关系数据源)的数据,然后将这些数据加载到一个或多个目标。
这是一个简单的表格,显示了 ETL 和 ELT 在大多数情况下的优势。
另一种更通用的方法是使用 Azure 数据工厂。 Azure 数据工厂是基于云的数据集成服务,使你可以创建数据驱动型工作流,以便大规模协调和转换数据。 可以使用 Azure 数据工厂创建和计划数据驱动型工作流(称为管道),以便从不同的数据存储引入数据。 可以构建复杂的 ETL 过程,以通过数据流或使用计算服务(例如 Azure HDInsight Hadoop、Azure Databricks 和 Azure SQL Database)直观地转换数据。