描述数据集成模式
Microsoft Azure 提供各种数据平台服务,以便你能够执行不同类型的分析。 无论是数据仓库中的描述性分析解决方案,还是通过 HDInsight、Azure Databricks 或机器学习服务中的预测性分析, 都需要一种服务来处理数据集成的重要方面。
数据集成首先涉及从一个或多个源收集数据。 (可选)数据集成通常包括一个过程,在该过程中,可以对数据进行清理和转换,或者可以扩充其他数据并进行准备。 最后,合并后的数据存储在数据平台服务中,该服务可处理要执行的分析类型。 Azure 数据工厂可以采用称为“提取、转换和加载 (ETL)”的模式来自动执行此过程。
提取
在提取过程中,数据工程师定义数据及其源:
定义数据源:识别源详细信息,如资源组、订阅和标识信息(如密钥或机密)。
定义数据:确定要提取的数据。 通过使用数据库查询、一组文件或适用于 blob 存储的 Azure Blob 存储名称来定义数据。
转换
- 定义数据转换:数据转换操作可以包括拆分、合并、派生、添加、删除或透视列。 映射数据源和数据目标之间的字段。 可能还需要聚合或合并数据。
加载
定义目标:加载过程中,许多 Azure 目标可以接受格式为 JavaScript 对象表示法 (JSON)、文件或 blob 的数据。 你可能还需要编写代码以便与应用程序 API 进行交互。
Azure 数据工厂提供对 Azure Functions 的内置支持。 还可以找到对许多编程语言的支持,包括 Node.js、.NET、Python 和 Java。 尽管可扩展标记语言 (XML) 在过去十分常见,但由于其作为半结构化数据类型的灵活性,大多数系统已迁移到 JSON。
启动作业:在开发或测试环境中测试 ETL 作业。 然后将作业迁移到生产环境以加载生产系统。
监视作业:ETL 操作可能涉及到许多复杂的过程。 设置主动式和反应式监视系统,以在出现故障时提供有用信息。 根据它将使用的技术设置日志记录。
ETL 工具
作为数据工程师,有几种可用的 ETL 工具。 Azure 数据工厂为无代码用户和基于代码的用户提供将近 100 个企业连接器和强大的资源,以满足他们的数据移动和转换需求。
ETL 的演变
Azure 为能够无限制地处理非结构化数据的技术开辟了道路。 此更改将加载和转换数据的模式从 ETL 转变为提取、加载和转换 (ELT)。
ELT 的好处是可以采用原始数据格式存储数据,无论是 JSON、XML、PDF 还是图像。 在 ELT 中,在转换阶段定义数据的结构,因此可以在多个下游系统中使用源数据。
在 ELT 过程中,以数据的本机格式提取和加载数据。 此更改减少了将数据加载到目标系统所需的时间。 还限制了数据源上的资源争用。
ELT 过程的步骤与 ETL 过程相同。 但顺序不同。
还有一个类似于 ELT 的过程,我们称之为提取、加载、转换和加载 (ELTL)。 与 ELTL 不同的是,它最后还有一个加载到目标系统中的步骤。
Azure 数据工厂可以支持两种常见类型的数据集成模式。
新式数据仓库工作负载:
新式数据仓库是一个集中式数据存储,它使用结构化、非结构化或流式数据源在整个企业中提供描述性分析和决策支持服务。 数据定期从多个事务系统、关系数据库和其他数据源流到仓库中。 存储的数据用于历史和趋势分析报告。 数据仓库充当许多主题区域的中央存储库,包含“单一事实源”。
Azure 数据工厂通常用于通过针对结构化和非结构化数据源的批处理来自动化提取、转换和加载数据的过程。
高级分析工作负载
可以使用一系列 Azure 数据平台服务以预测或强占式分析的形式执行高级分析。 Azure 数据工厂提供从源系统到 Data Lake 存储的集成,并且可以启动计算资源(例如 Azure Databricks 或 HDInsight)以使用数据执行高级分析工作