解决方案构想
本文介绍了一种解决方案构想。 云架构师可以通过本指南来帮助可视化此体系结构的典型实现的主要组件。 以本文为起点,设计一个符合工作负荷特定要求的架构合理的解决方案。
此解决方案概述了新式数据体系结构的关键原则和组件。 Azure Databricks 构成了该解决方案的核心。 此平台与其他服务(例如 Azure Data Lake Storage、Microsoft Fabric 和 Power BI)无缝配合工作。
Apache® 和 Apache Spark™ 是 Apache Software Foundation 在美国和/或其他国家/地区的商标或注册商标。 使用这些标记并不暗示获得 Apache Software Foundation 的认可。
体系结构
下载此体系结构的 Visio 文件。
数据流
Azure Databricks 使用增量实时表从 Azure 事件中心引入原始流数据。
结构数据工厂将原始批处理数据加载到 Data Lake Storage 中。
对于数据存储:
Data Lake Storage 包含所有类型的数据,包括结构化、非结构化和部分结构化数据。 它还存储批处理和流式处理数据。
Delta Lake 构成了数据湖的特选层。 它以开源格式存储具体化数据。
Azure Databricks 非常适合用于将数据组织成层的奖牌体系结构:
- 青铜层:保存原始数据。
- 银层:包含已清理、筛选的数据。
- 黄金层:存储对业务分析有用的聚合数据。
分析平台从不同的批处理和流式处理源中提取数据。 数据科学家将此数据用于以下任务:
- 数据准备。
- 数据探索。
- 模型准备。
- 模型训练。
MLflow 管理数据科学代码运行中的参数、指标和模型跟踪。 支持灵活的代码编写形式:
- 代码可以使用 SQL、Python、R 和 Scala 语言。
- 代码可以使用常用的开源库和框架,例如 Koalas、Pandas 和 scikit-learn,这些库已预安装并进行了优化。
- 用户可以使用单节点和多节点计算选项来优化性能和成本。
机器学习模型采用以下格式提供:
- Azure Databricks 将有关模型的信息存储在 MLflow 模型注册表中。 该注册表通过批处理、流式处理和 REST API 提供模型。
- 该解决方案还可将模型部署到 Azure 机器学习 Web 服务或 Azure Kubernetes 服务 (AKS)。
处理数据的服务连接到单个基础数据源,以帮助确保一致性。 例如,可以使用 Azure Databricks SQL 仓库在 Data Lake 上运行 SQL 查询。 此服务:
- 提供查询编辑器和目录、查询历史记录、基本仪表板和警报。
- 使用包含行级权限和列级权限的集成安全性。
- 使用 光驱动的 Delta 引擎来提高性能。
可以将黄金数据集从 Azure Databricks Unity 目录镜像到 Fabric 中。 在 Fabric 中使用 Azure Databricks 镜像轻松集成,而无需移动或复制数据。
Power BI 从统一数据平台生成分析和历史报表与仪表板。 此服务在处理 Azure Databricks 时使用以下功能:
- 用于可视化基础数据的内置 Azure Databricks 连接器。
- 优化的 Java 数据库连接和开放数据库连接驱动程序。
- 可以将 Direct Lake 与 Fabric 中的 Azure Databricks 镜像配合使用来加载 Power BI 语义模型,以便进行高性能查询。
该解决方案使用 Unity 目录和 Azure 服务进行协作、性能、可靠性、治理和安全性:
Azure Databricks Unity 目录跨 Azure Databricks 工作区提供集中式访问控制、审核、世系和数据发现功能。
Microsoft Purview 针对整个数据资产提供数据发现服务、敏感数据分类和治理见解。
Azure DevOps 提供持续集成和持续部署 (CI/CD) 及其他集成式版本控制功能。
Azure Key Vault 可帮助你安全地管理机密、密钥和证书。
Microsoft Entra ID 和跨域标识管理系统(SCIM)预配为 Azure Databricks 用户和组提供单一登录。 Azure Databricks 支持使用 Microsoft Entra ID 进行自动用户预配,以便:
- 创建新的用户和组。
- 向每个用户分配访问级别。
- 删除用户并拒绝他们访问权限。
Azure Monitor 收集和分析 Azure 资源遥测数据。 通过主动识别问题,此服务最大程度地提高了性能和可靠性。
Microsoft 成本管理 Azure 工作负载提供财务治理服务。
组件
此解决方案使用以下组件。
核心组件
Azure Databricks 是一个数据分析平台,它使用 Spark 群集来处理大型数据流。 它清理和转换非结构化数据,并将其与结构化数据组合在一起。 它还可以训练和部署机器学习模型。 在此体系结构中,Azure Databricks 充当用于数据引入、处理和服务的中心工具。 它提供了用于管理整个数据生命周期的统一环境。
Azure Databricks SQL 仓库 是可用于查询和浏览 Azure Databricks 上的数据的计算资源。 在此体系结构中,可以使用 SQL 终结点直接从 Power BI 连接到数据。
Azure Databricks Delta 实时表 是一个声明性框架,用于生成可靠、可维护且可测试的数据处理管道。 在此体系结构中,Delta Live Tables 可帮助你定义转换以对数据执行。 它还有助于管理 Azure Databricks 中的任务业务流程、群集管理、监视、数据质量和错误处理。
Microsoft Fabric 是一个端到端分析和数据平台,适用于需要统一解决方案的组织。 该平台提供数据工程、数据工厂、数据科学、Real-Time 智能、数据仓库和数据库等服务。 此体系结构将 Unity 目录表镜像到 Fabric 中,并使用 Power BI 中的 Direct Lake 来提高性能。
Microsoft Fabric 中的 数据工厂是一种新式数据集成平台,可用于从 Fabric 中的一组丰富的数据源引入、准备和转换数据。 此体系结构使用内置连接器连接到多个数据源,以便快速引入 Data Lake Storage 或 OneLake。 Azure Databricks 稍后检索并进一步转换批处理数据。
事件中心 是完全托管的大数据流式处理平台。 作为平台即服务,它提供事件引入功能。 此体系结构使用事件中心进行流式处理数据。 Azure Databricks 可以连接到此数据,并使用 Spark 流式处理或增量实时表来处理这些数据。
Data Lake Storage 是一个可缩放且安全的 Data Lake,用于高性能分析。 它处理多个 PB 的数据,并支持数百千兆位的吞吐量。 Data Lake Storage 可以存储结构化、部分结构化和非结构化数据。 此体系结构使用 Data Lake Storage 来存储批处理和流数据。
机器学习是一个基于云的环境,可帮助你生成、部署和管理预测分析解决方案。 使用这些模型,可以预测行为、结果和趋势。 在此体系结构中,机器学习使用 Azure Databricks 转换的数据来训练和推断模型。
AKS 是高度可用、安全且完全托管的 Kubernetes 服务。 使用 AKS 可以轻松部署和管理容器化应用程序。 在此体系结构中,AKS 在容器化环境中托管机器学习模型,以便进行可缩放推理。
Delta Lake 是使用开放文件格式的存储层。 此层在云存储解决方案(如 Data Lake Storage)上运行。 Delta Lake 支持数据版本控制、回滚,以及用于更新、删除和合并数据的事务。 在此体系结构中,Delta Lake 充当从 Data Lake Storage 写入和读取数据的主要文件格式。
MLflow 是用于管理机器学习生命周期的开源平台。 其组件在训练和作期间监视机器学习模型。 在此体系结构中,类似于机器学习,可以在 Azure Databricks 中使用 MLflow 来管理机器学习生命周期。 使用在 Azure Databricks 中转换的 Unity 目录数据训练和推断模型。
报告和治理组件
Azure Databricks Unity 目录 跨 Azure Databricks 工作区提供集中式访问控制、审核、世系和数据发现功能。 在此体系结构中,Unity 目录充当 Azure Databricks 中的主要工具,用于管理和保护数据访问。
Power BI 是一系列软件服务和应用。 这些服务可以创建和共享用于连接不相关数据源并将其可视化的报表。 与 Azure Databricks 相结合,Power BI 可以提供根本原因判定和原始数据分析。 此体系结构使用 Power BI 创建仪表板和报表,以便深入了解 Azure Databricks 和 Fabric 处理的数据。
Microsoft Purview 管理本地、多云和软件即服务 (SaaS) 数据。 此治理服务可以维护数据布局图。 其功能包括自动数据发现、敏感数据分类和数据世系。 此体系结构使用 Microsoft Purview 来扫描和跟踪在 Unity 目录、Fabric、Power BI 和 Data Lake Storage 中引入的数据。
Azure DevOps 是一个 DevOps 业务流程平台。 此 SaaS 提供用于生成、部署和协作应用程序的工具和环境。 此体系结构使用 Azure DevOps 自动部署 Azure 基础结构。 还可以使用 GitHub 实现 Azure Databricks 代码的自动化和版本控制,以便更好地协作、更改跟踪和与 CI/CD 管道集成。
Key Vault 存储和控制对机密(例如令牌、密码和 API 密钥)的访问。 Key Vault 还会创建和控制加密密钥并管理安全证书。 此体系结构使用 Key Vault 从 Data Lake Storage 存储共享访问签名密钥。 然后,这些密钥在 Azure Databricks 和其他服务中用于身份验证。
Microsoft Entra ID 提供基于云的标识和访问管理服务。 这些功能为用户提供登录和访问资源的方式。 此体系结构使用 Microsoft Entra ID 对 Azure 中的用户和服务进行身份验证和授权。
SCIM 允许使用 Microsoft Entra ID 设置到 Azure Databricks 帐户的预配。 此体系结构使用 SCIM 来管理访问 Azure Databricks 工作区的用户。
Azure Monitor 收集和分析环境和 Azure 资源中的数据。 这些数据包括应用遥测数据,例如性能指标和活动日志。 此体系结构使用 Azure Monitor 监视 Azure Databricks 和机器学习和其他将日志发送到 Azure Monitor 的计算资源的运行状况。
成本管理 可帮助你管理云支出。 此服务使用预算和建议来组织费用,并演示如何降低成本。 此体系结构使用成本管理来帮助监视和控制整个解决方案的成本。
方案详细信息
新式数据体系结构:
- 统一数据、分析和 AI 工作负载。
- 在任何规模下高效可靠运行。
- 通过分析仪表板、操作报表或高级分析提供见解。
此解决方案概述了实现这些目标的新式数据体系结构。 Azure Databricks 构成了该解决方案的核心。 此平台与其他服务无缝协同工作。 这些服务共同提供了一种解决方案,即:
- 简单:统一分析、数据科学和机器学习简化了数据体系结构。
- 开放:该解决方案支持开源代码、开放标准和开放框架。 它还能与流行的集成开发环境 (IDE)、库和编程语言配合工作。 通过本机连接器和 API,该解决方案还能与其他广泛的服务配合工作。
- 协作:数据工程师、数据科学家和分析师可以使用此解决方案进行协作。 他们可以使用协作笔记本、IDE、仪表板和其他工具来访问和分析常见基础数据。
可能的用例
Swiss Re Group 为其财产和意外再保险部门构建的系统受到了此解决方案的启发。 除了保险行业,任何处理大数据或机器学习的领域也可以受益于此解决方案。 示例包括:
- 能源部门。
- 零售和电子商务。
- 银行和金融。
- 医学和医疗保健。
后续步骤
- 在 Azure Databricks 中生成端到端数据管道
- 运行第一个增量实时表管道
相关资源
若要了解相关解决方案,请参阅以下指南和体系结构。
相关体系结构指南
- 使用 Azure Monitor Monitor Azure Databricks
- 比较 Microsoft 的机器学习产品
- 选择自然语言处理技术
- 选择流处理技术