你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure Synapse 进行端到端分析

Azure Synapse Analytics
Azure Cosmos DB
Azure 数据工厂
Azure Databricks
Azure 事件中心

本文中介绍的解决方案结合了一系列 Azure 服务,这些服务将从不同源(结构化、半结构化、非结构化和流式处理)引入、存储、处理、扩充并提供数据和见解。

体系结构

使用 Azure 数据服务的新式数据平台的体系结构示意图。

下载此体系结构的 Visio 文件

注意

  • 此体系结构涵盖的服务只是更大的 Azure 服务系列中的一个子集。 可以使用此设计未涵盖的其他服务或功能实现类似结果。
  • 分析用例的特定业务要求可能需要使用此设计中未考虑的其他服务或功能。

数据流

该体系结构涵盖的分析用例由关系图左侧的不同数据源阐释。 数据从下到上流经解决方案的情形如下所示:

注意

在以下各部分中,Azure Data Lake 被用作数据生命周期各个阶段数据的存储位置。 Azure Data Lake 按不同的层和容器组织,如下所示:

  • “原始”层是来自源系统的数据的登陆区域。 顾名思义,此层中的数据采用的是原始、未筛选的和未精简的形式。
  • 在生命周期的下一个阶段,数据将移至“扩充”层,可在其中对数据进行清理、筛选和可能的转换。
  • 然后数据移动到“精选”层,即维护使用者就绪数据的位置。

请参阅 Data Lake 区域和容器文档,全面了解 Azure Data Lake 层和容器及其用途。

带有 Azure Cosmos DB 和 Dataverse 的 Azure 数据服务、云原生 HTAP

进程
  1. Azure Synapse Link for Azure Cosmos DBAzure Synapse Link for Dataverse通过使用 Azure Synapse 工作区(SQL 无服务器Spark 池)中提供的分析引擎对操作和业务应用程序数据运行准实时分析

  2. 使用 Azure Synapse Link for Azure Cosmos DB 时,请使用 SQL 无服务器查询Spark 池笔记本。 可以访问 Azure Cosmos DB 分析存储,然后将来自准实时操作数据的数据集与数据湖或数据仓库中的数据合并。

  3. 使用 Azure Synapse Link for Dataverse 时,请使用 SQL 无服务器查询Spark 池笔记本。 可以访问选定 Dataverse 表,然后将来自准实时业务应用程序数据的数据集与数据湖或数据仓库中的数据合并。

存储
  1. SQL 无服务器查询生成的数据集可以保存在数据湖中。 如果使用 Spark 笔记本,则生成的数据集可以保存在数据湖或数据仓库(SQL 池)中。
服务
  1. 将来自 Azure Synapse SQL 池或数据湖的相关数据加载到 Power BI 数据集中,以用于数据可视化和浏览。 Power BI 模型实现语义模型,以简化业务数据和关系分析。 业务分析师使用 Power BI 报表和仪表板来分析数据并派生业务见解。

  2. 此外,还可使用 Azure Data Share 将数据安全共享给其他业务部门或外部受信任合作伙伴。 数据使用者可以自由选择自己想要使用的数据格式,以及最适合处理共享数据集的计算引擎。

  3. Synapse 工作区中存储的结构化和非结构化数据还可用于构建知识挖掘解决方案,并使用 AI 发现不同文档类型和格式(包括 Office 文档、PDF、图像、音频、窗体和网页)中的宝贵业务见解。

关系数据库

引入
  1. 使用 Azure Synapse 管道从各种数据库(本地和云中)拉取数据。 为响应事件,可以基于预定义的计划触发 Pipelines 事件,或通过 REST API 显式调用。
存储
  1. 在原始数据湖层中,按照有关要创建的层、要在每个层中使用的文件夹结构,以及要用于每个分析方案的文件格式的最佳做法来组织数据湖

  2. 在 Azure Synapse 管道中,使用复制数据活动将从关系数据库复制的数据暂存到 Azure Data Lake Store Gen 2 数据湖的原始层中。 可以将数据保存为分隔文本格式,也可以压缩为 Parquet 文件。

进程
  1. 使用数据流SQL 无服务器查询Spark 笔记本验证、转换数据集,并将该数据集从数据湖的“原始”层移至“扩充”层,再移至“精选”层。

    1. 作为数据转换的一部分,可以使用标准 T-SQL 或 Spark 笔记本从 SQL 池中调用机器训练模型。 这些机器学习模型可用于扩充数据集并生成进一步的业务见解。 可以从 Azure 认知服务中使用这些机器学习模型,或通过 Azure 机器学习自定义机器学习模型
服务
  1. 可直接从数据湖“精选”层提供最终数据集,也可使用“复制数据”活动,通过 COPY 命令将最终数据集引入 SQL 池表,从而快速引入。

  2. 将来自 Azure Synapse SQL 池或数据湖的相关数据加载到 Power BI 数据集中,以用于数据可视化。 Power BI 模型实现语义模型,以简化业务数据和关系分析。 业务分析师使用 Power BI 报表和仪表板来分析数据并派生业务见解。

  3. 此外,还可使用 Azure Data Share 将数据安全共享给其他业务部门或外部受信任合作伙伴。 数据使用者可以自由选择自己想要使用的数据格式,以及最适合处理共享数据集的计算引擎。

  4. Synapse 工作区中存储的结构化和非结构化数据还可用于构建知识挖掘解决方案,并使用 AI 发现不同文档类型和格式(包括 Office 文档、PDF、图像、音频、窗体和网页)中的宝贵业务见解。

半结构化数据源

引入
  1. 使用 Azure Synapse 管道从各种半结构化数据源(本地和云中)拉取数据。 例如:

    • 从包含 CSV 或 JSON 文件的基于文件的源中引入数据。
    • 连接 Azure Cosmos DB 或 MongoDB 等非 SQL 数据库。
    • 调用 SaaS 应用程序提供的 REST API,这些 API 将用作管道的数据源。
存储
  1. 在原始数据湖层中,按照有关要创建的层、要在每个层中使用的文件夹结构,以及要用于每个分析方案的文件格式的最佳做法来组织数据湖

  2. 在 Azure Synapse 管道中,使用复制数据活动将从半结构化数据源复制的数据暂存到 Azure Data Lake Store Gen 2 数据湖的原始层中。 保存数据以保留从数据源获取的原始格式。

进程
  1. 对于批处理/微批处理管道,使用数据流SQL 无服务器查询Spark 笔记本验证、转换数据集,并将数据集移动到数据湖的“精选”层。 SQL 无服务器查询将基础 CSVParquetJSON 文件公开为外部表,以便可以使用 T-SQL 查询。

    1. 作为数据转换的一部分,可以使用标准 T-SQL 或 Spark 笔记本从 SQL 池中调用机器学习模型。 这些机器学习模型可用于扩充数据集并生成进一步的业务见解。 可以从 Azure 认知服务中使用这些机器学习模型,或通过 Azure 机器学习自定义机器学习模型
  2. 对于准实时遥测和时序分析方案,请使用数据资源管理器池轻松跨多个数据源引入、合并和关联日志和 IoT 事件数据。 借助数据资源管理器池,可以使用 Kusto 查询 (KQL) 执行时序分析地理空间分析和机器学习扩充。

服务
  1. 可直接从数据湖“精选”层提供最终数据集,也可使用“复制数据”活动,通过 COPY 命令将最终数据集引入 SQL 池表,从而快速引入。

  2. 将来自 Azure Synapse SQL 池数据资源管理器池数据湖的相关数据加载到 Power BI 数据集中,以用于数据可视化。 Power BI 模型实现语义模型,以简化业务数据和关系分析。 业务分析师使用 Power BI 报表和仪表板来分析数据并派生业务见解。

  3. 此外,还可使用 Azure Data Share 将数据安全共享给其他业务部门或外部受信任合作伙伴。 数据使用者可以自由选择自己想要使用的数据格式,以及最适合处理共享数据集的计算引擎。

  4. Synapse 工作区中存储的结构化和非结构化数据还可用于构建知识挖掘解决方案,并使用 AI 发现不同文档类型和格式(包括 Office 文档、PDF、图像、音频、窗体和网页)中的宝贵业务见解。

非结构化数据源

引入
  1. 使用 Azure Synapse 管道 从各种非结构化数据源(本地和云中)拉取数据。 例如:

    • 从包含源文件的基于文件的源中引入视频、图像、音频或自由文本。
    • 调用 SaaS 应用程序提供的 REST API,这些 API 将用作管道的数据源。
存储
  1. 在原始数据湖层中,按照有关要创建的层、要在每个层中使用的文件夹结构,以及要用于每个分析方案的文件格式的最佳做法来组织数据湖

  2. 在 Azure Synapse 管道中,使用复制数据活动将从非结构化数据源复制的数据暂存到 Azure Data Lake Store Gen 2 数据湖的原始层中。 通过保留从数据源获取的原始格式来保存数据。

进程
  1. 使用 Spark 笔记本验证、转换、扩充数据集,并将该数据集从数据湖的“原始”层移至“扩充”层,再移至“精选”层。

    1. 作为数据转换的一部分,可以使用标准 T-SQL 或 Spark 笔记本从 SQL 池中调用机器学习模型。 这些机器学习模型可用于扩充数据集并生成进一步的业务见解。 可以从 Azure 认知服务中使用这些机器学习模型,或通过 Azure 机器学习自定义机器学习模型
服务
  1. 可直接从数据湖“精选”层提供最终数据集,也可使用“复制数据”活动,通过 COPY 命令将最终数据集引入数据仓库表,从而快速引入。

  2. 将来自 Azure Synapse SQL 池或数据湖的相关数据加载到 Power BI 数据集中,以用于数据可视化。 Power BI 模型实现语义模型,以简化业务数据和关系分析。

  3. 业务分析师使用 Power BI 报表和仪表板来分析数据并派生业务见解。

  4. 此外,还可使用 Azure Data Share 将数据安全共享给其他业务部门或外部受信任合作伙伴。 数据使用者可以自由选择自己想要使用的数据格式,以及最适合处理共享数据集的计算引擎。

  5. Synapse 工作区中存储的结构化和非结构化数据还可用于构建知识挖掘解决方案,并使用 AI 发现不同文档类型和格式(包括 Office 文档、PDF、图像、音频、窗体和网页)中的宝贵业务见解。

流式处理

引入
  1. 使用Azure 事件中心或 Azure IoT 中心引入客户端应用程序或 IoT 设备生成的数据流。 事件中心或 IoT 中心随后会引入并存储流数据,从而保留接收事件的序列。 然后,使用者可以连接事件中心或 IoT 中心终结点,并检索消息以进行处理。
存储
  1. 在原始数据湖层中,按照有关要创建的层、要在每个层中使用的文件夹结构,以及要用于每个分析方案的文件格式的最佳做法来组织数据湖

  2. 配置事件中心捕获IoT 中心存储终结点,将事件副本保存到 Azure Data Lake Store Gen 2 数据湖的原始层。 此功能实现了 Lambda 体系结构模式的“冷路径”,并允许使用 SQL 无服务器查询Spark 笔记本按照上述半结构化数据源的模式对保存在数据湖中的流数据执行历史和趋势分析。

进程
  1. 对于实时见解,请使用流分析作业实现 Lambda 体系结构模式的“热路径”,并从传输中的流数据派生见解。 为来自事件中心或 IoT 中心的数据流定义至少一个输入,一个查询用于处理输入数据流,另一个 Power BI 输出到查询结果的发送目标位置。

    1. 在通过流分析进行数据处理的过程中,你可以调用机器学习模型来扩充流数据集,并根据生成的预测来推动业务决策。 可以从 Azure 认知服务中,或根据 Azure 机器学习中的自定义机器学习模型使用这些机器学习模型。
  2. 使用其他流分析作业输出将已处理的事件发送到 Azure Synapse SQL 池数据资源管理器池以供进一步分析用例。

  3. 对于准实时遥测和时序分析方案,请使用数据资源管理器池直接从事件中心IoT 中心引入 IoT 事件。 借助数据资源管理器池,可以使用 Kusto 查询 (KQL) 执行时序分析地理空间分析和机器学习扩充。

服务
  1. 然后,业务分析师使用 Power BI 实时数据集和仪表板功能,直观显示由流分析查询生成的快速变化的见解。

  2. 此外,还可使用 Azure Data Share 将数据安全共享给其他业务部门或外部受信任合作伙伴。 数据使用者可以自由选择自己想要使用的数据格式,以及最适合处理共享数据集的计算引擎。

  3. Synapse 工作区中存储的结构化和非结构化数据还可用于构建知识挖掘解决方案,并使用 AI 发现不同文档类型和格式(包括 Office 文档、PDF、图像、音频、窗体和网页)中的宝贵业务见解。

组件

体系结构中已使用了以下 Azure 服务:

备选方法

方案详细信息

此示例方案演示如何将 Azure Synapse Analytics 与广泛的 Azure 数据服务系列联合使用,共同构建能够应对组织中最常见数据挑战的现代数据平台。

可能的用例

此方法还可以用来:

  • 建立数据产品体系结构,其中包括数据仓库(用于结构化数据)和数据湖(用于半结构化和非结构化数据)。 可以选择为集中环境部署单个数据产品,或为分布式环境(如 Data Mesh)部署多个数据产品。 请参阅有关数据管理和数据登陆区域的更多信息。
  • 使用大数据处理技术将关系数据源与其他非结构化数据集集成。
  • 使用语义建模和强大的可视化工具来简化数据分析。
  • 在组织内或与受信任的外部合作伙伴共享数据集。
  • 实现知识挖掘解决方案,提取图像、PDF、文档等内容中隐藏的宝贵业务信息。

建议

发现与治理

在大型企业环境中,数据治理是一项常见挑战。 一方面,业务分析师需要能够发现和理解可帮助他们解决业务问题的数据资产。 另一方面,首席数据官需要了解业务数据的隐私和安全性。

Microsoft Purview

  1. 使用 Microsoft Purview数据资产数据分类敏感度进行数据发现,获取见解,涵盖整个组织数据环境。

  2. Microsoft Purview 有助于维护具有特定业务术语的业务术语表,用户需要这些术语来了解数据集的含义,以及应该如何在组织中使用它们。

  3. 你可以注册所有数据源并将它们整理到集合中,集合也用作元数据的安全边界。

  4. 设置定期扫描以自动编录和更新有关组织中数据资产的相关元数据。 Microsoft Purview 还可以根据 Azure 数据工厂或 Azure Synapse 管道中的信息自动添加数据世系信息。

  5. 数据分类数据敏感度标签可根据常规扫描期间应用的预配置或自定义规则自动添加到数据资产。

  6. 数据治理专业人员可以使用 Microsoft Purview 生成的报告和见解来控制整个数据布局,并保护组织免受任何安全和隐私问题影响。

平台服务

为了提高 Azure 解决方案的质量,请遵循 Azure 架构良好的框架的卓越体系结构五大支柱(成本优化、卓越运营、性能效率、可靠性和安全性)中定义的建议和指南。

按照这些建议,应将下面的服务视为设计的一部分:

  1. Microsoft Entra ID:跨 Azure 工作负载提供标识服务、单一登录和多重身份验证。
  2. Microsoft 成本管理:通过 Azure 工作负载进行财务治理。
  3. Azure Key Vault:保护凭据和证书管理。 例如,Azure Synapse 管道Azure Synapse Spark PoolsAzure ML 可从用于安全访问数据存储的 Azure Key Vault 检索凭据和证书。
  4. Azure Monitor:收集、分析和处理 Azure 资源的遥测信息,以主动识别问题并最大限度地提高性能和可靠性。
  5. Microsoft Defender for Cloud:增强并监视 Azure 工作负载的安全状况。
  6. Azure DevOpsGitHub:实施 DevOps 做法来强制实施自动化,并符合 Azure Synapse 和 Azure ML 的工作负载开发和部署管道。
  7. Azure Policy:实施组织标准和治理以满足资源一致性、法规遵从性、安全性、成本和管理方面的要求。

注意事项

这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架

之所以选择此体系结构中的技术,是因为每种技术都提供必要的功能来处理组织中最常见的数据挑战。 这些服务不仅满足可伸缩性和可用性要求,同时有助于控制成本。 此体系结构涵盖的服务只是更大的 Azure 服务系列中的一个子集。 可以使用此设计未涵盖的其他服务或功能实现类似结果。

分析用例的特定业务要求也可能需要使用此设计中未考虑的其他服务或功能。

还可以为预生产环境实现类似的体系结构,以便其中开发和测试工作负载。 考虑工作负载的特定要求,以及经济高效的预生产环境中每项服务的功能。

成本优化

成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述

通常,使用 Azure 定价计算器来估算成本。 体系结构中包含的每项服务的理想单独定价层和总成本取决于要处理和存储的数据量以及预期可接受的性能级别。 使用以下指南详细了解每项服务的定价方法:

  • Azure Synapse Analytics 无服务器体系结构允许独立缩放计算和存储级别。 计算资源按使用情况计费,可按需缩放或暂停这些资源。 存储资源按 TB 计费,因此,引入的数据越多,费用就越高。

  • Azure Data Lake Gen 2 根据存储的数据量以及读取和写入数据的事务数量计费。

  • Azure 事件中心Azure IoT 中心根据处理消息流所需的计算资源量计费。

  • Azure 机器学习费用来自用于训练和部署机器学习模型的计算资源量。

  • 认知服务根据对服务 API 的调用次数计费。

  • Microsoft Purview 根据目录中数据资产的数量以及扫描这些资产所需的计算能力进行定价。

  • Azure 流分析根据处理流查询所需的计算能力数量计费。

  • Power BI 提供不同的产品选项来满足不同的要求。 Power BI Embedded 提供基于 Azure 的选项用于在应用程序中嵌入 Power BI 功能。 上述定价示例包括 Power BI Embedded 实例。

  • Azure CosmosDB 根据数据库所需的存储和计算资源量进行定价。

部署此方案

本文提供了 GitHub 中提供的配套存储库,介绍如何自动部署此体系结构中涵盖的服务。 按照 Azure 分析端到端的 Azure Synapse 部署指南,将此体系结构部署到订阅。 该部署指南包含详细说明和多个部署选项。

供稿人

本文由 Microsoft 更新和维护。 它最初是由以下贡献者撰写的。

首席作者:

若要查看非公开的 LinkedIn 个人资料,请登录到 LinkedIn。

后续步骤