使用此参考指南和示例方案,帮助你确定是否需要复制活动、复制作业、数据流、事件流或 Spark 用于 Microsoft Fabric 的工作负荷。
复制活动、复制作业、数据流、事件流和 Spark 属性
管道复制活动 | 复制作业 | 数据流 Gen 2 | Eventstream | 火花 | |
---|---|---|---|---|---|
用例 | 数据湖和数据仓库迁移, 数据引入, 轻量级转换 |
数据引入, 增量复制, 复制 数据湖和数据仓库迁移, 轻量级转换 |
数据引入, 数据转换, 数据整理、 数据剖析 |
事件数据引入, 事件数据转换 |
数据引入, 数据转换, 数据处理 数据剖析 |
主要开发人员角色 | 数据工程师, 数据集成器 |
业务分析师, 数据集成器, 数据工程师 |
数据工程师, 数据集成器, 业务分析师 |
数据工程师, 数据科学家, 数据开发人员 |
数据集成器, 数据工程师 |
主要开发人员技能集 | ETL、 SQL、 JSON(JavaScript 对象表示法) |
ETL、 SQL、 JSON(JavaScript 对象表示法) |
ETL、 M、 SQL |
SQL、JSON、消息传送 | Spark (Scala、Python、Spark SQL、R) |
编写的代码 | 无代码, 低代码 |
无代码, 低代码 |
无代码, 低代码 |
无代码, 低代码 |
代码 |
数据卷 | 低到高 | 低到高 | 低到高 | 中到高 | 低到高 |
开发接口 | 巫师 帆布 |
巫师 帆布 |
Power Query | 帆布 | 笔记本 Spark 任务定义 |
源 | 50 多个连接器 | 50 多个连接器 | 150 多个连接器 | 支持 CDC 的数据库(变更数据捕获)、Kafka、支持发布和订阅模式的消息传送系统、事件流 | 数百个 Spark 库 |
目标 | 40 多个连接器 | 40 多个连接器 | Lakehouse, Azure SQL 数据库, Azure 数据资源探查器 Azure Synapse Analytics |
Eventhouse、Lakehouse、激活器警报、派生流、自定义终结点 | 数百个 Spark 库 |
转换复杂性 | 低: 轻型 - 类型转换、列映射、合并/拆分文件、平展层次结构 |
低: 轻型 - 类型转换、列映射、合并/拆分文件、平展层次结构 |
低到高: 300 多个转换函数 |
低: 轻 |
低到高: 对原生 Spark 和开源库的支持 |
情境
查看以下场景,以帮助您选择如何在 Fabric 中使用数据。
方案 1
数据工程师 Leo 需要从本地和云等外部系统引入大量数据。 这些外部系统包括数据库、文件系统和 API。 Leo 不想为每个连接器或数据移动操作编写和维护代码。 他希望遵循奖牌层(铜牌、银牌和金牌)的最佳做法。 Leo 在 Spark 中没有任何经验,因此他尽可能喜欢拖放 UI,只需最少的编码即可。 他还希望按计划处理数据。
第一步是从 Azure 数据资源和各种第三方源(如 Snowflake Web、REST、AWS S3、GCS 等)获取原始数据进入铜牌层湖屋。 他想要一个经过整合的湖屋,以便让各种 LOB、本地和云源中的所有数据都驻留在一个位置。 Leo 查看选项,并选择“管道复制活动”作为原始二进制副本的适当选择。 此模式适用于历史数据和增量数据刷新。 借助复制活动,Leo 可以根据需要将金牌数据加载到数据仓库(无需使用代码),并且管道提供可以移动 PB 级数据的大规模数据引入。 复制活动是将 PB 级数据从各种源(临时或定期)移动到湖屋和仓库的最佳低代码和无代码选择。
方案 2
Mary 是一名数据工程师,深入了解多个 LOB 分析报告要求。 上游团队已成功实施了一个解决方案,将多个业务线的历史数据和增量数据迁移到一个通用的数据湖仓。 Mary 的任务是清理数据、应用业务逻辑并将其加载到多个目标(例如 Azure SQL DB、ADX 和 lakehouse),以准备各自的报告团队。
Mary 是一位经验丰富的 Power Query 用户,数据量处于低到中等范围内,以实现所需的性能。 数据流提供无代码或低代码接口,用于从数百个数据源引入数据。 使用数据流,可以使用 300 多个数据转换选项转换数据,并使用易于使用、高度可视的用户界面将结果写入多个目标。 Mary 审查这些选项,并决定使用 Dataflow Gen 2 作为她的首选转换选项是有意义的。
方案 3
Prashant 是一个数据集成商,在业务流程和系统中具有深厚的专业知识。 上游团队已成功将业务应用程序中的事件数据公开为可通过下游系统使用的消息。 Prashant 已分配用于将业务应用程序的事件数据集成到 Microsoft Fabric 中,以获取实时决策支持。
鉴于中到高数据量,以及组织对无代码解决方案的偏好,Prashant 会寻求一种方法,以便在不管理提取计划的情况下无缝转发事件。 为了满足这一需求,他在 Microsoft Fabric 中选择 Eventstreams 。 Real-Time Intelligence 体验中的事件流可实现实时数据引入、转换和路由到各种目标,而无需编写任何代码。
方案 4
Adam 是一家大型零售公司的数据工程师,该公司使用 Lakehouse 来存储和分析其客户数据。 作为他工作的一部分,Adam 负责构建和维护数据管道,以提取、转换和加载数据到湖屋。 公司的业务要求之一是执行客户评审分析,以深入了解客户的体验并改进其服务。
Adam 决定最佳选择是使用 Spark 生成提取和转换逻辑。 Spark 提供了一个分布式计算平台,可以并行处理大量数据。 他使用 Python 或 Scala 编写 Spark 应用程序,该应用程序从 OneLake 读取结构化、半结构化和非结构化数据,以获取客户评论和反馈。 该应用程序可以清理、转换数据并将其写入湖屋中的 Delta 表。 然后,数据已准备好用于下游分析。
方案 5
数据工程师 Rajesh 负责将增量数据从本地 SQL Server 引入 Azure SQL 数据库。 Rajesh 的本地 SQL Server 实例已在密钥表上启用了变更数据捕获(CDC)。
Rajesh 正在寻找一个简单的低代码向导驱动解决方案,使他能够:
- 选择多个已启用本机 CDC 的源表
- 执行初始完整加载
- 根据 CDC 自动切换到增量数据加载
- 安排数据刷新的定期更新
他希望避免编写自定义代码或管理复杂的业务流程。 理想情况下,他希望一个“5x5 向导”,在那里他只需单击几下即可完成设置。
Rajesh 在 Microsoft Fabric 中选择复制作业功能。 通过本地网关支持,他安全地连接到 SQL Server,选择所需的表,并将流配置为进入目标 Azure SQL 数据库。
复制作业提供简便且可扩展的数据传输体验,满足 Rajesh 的要求,而无需维护复杂的流程。
相关内容
- 如何通过复制活动复制数据
- 快速入门:创建第一个数据流来获取和转换数据
- 如何在 Fabric 中创建 Apache Spark 作业定义
- 如何在 Fabric 中创建事件流