Microsoft Fabric 是一种数据分析 SaaS 产品,可将Microsoft的分析工具合并为一种体验。 结构数据工厂提供与 Azure 数据工厂(ADF)类似的工作流业务流程、数据移动、复制和转换。 如果要实现 ADF 投资的现代化,本指南将帮助你了解迁移注意事项、策略和方法。
从 ADF 和 Synapse 管道迁移到 Fabric 数据工厂具有以下优势:
- 在管道执行期间,用于消息路由 的电子邮件 和 Teams 活动 等集成管道功能。
- 无需外部 Git 集成即可使用内置 CI/CD 功能(部署管道)。
- 工作区与 OneLake 集成,以便简化分析管理。
- 使用集成管道活动 轻松刷新语义数据模型 。
Fabric 专为自助服务和 IT 托管的企业数据而设计。 它可缩放以满足大型组织的需求,提供安全、可管理且可访问的解决方案。
随着数据量和复杂性的增长,Fabric 为数据集成开发人员和解决方案提供高级功能。 许多客户正在探索是否在 Fabric 中整合其数据集成解决方案。 常见问题包括:
- Fabric 是否支持我们依赖的所有功能?
- Fabric 提供哪些独特功能?
- 如何将现有管道迁移到 Fabric?
- 企业数据引入Microsoft路线图是什么?
平台差异
迁移整个 ADF 实例涉及了解 ADF 与结构数据工厂之间的主要差异。 本部分重点介绍这些差异。
有关功能的详细比较,请参阅 “在 Fabric 和 Azure 数据工厂中比较数据工厂”。
本部分介绍以下主要差异:
- 集成运行时:Fabric 默认使用基于云的计算,而 ADF 需要配置集成运行时。 Fabric 还支持用于本地数据访问的 本地数据网关 和用于安全网络连接的 虚拟网络数据网关 。
- 管道:构造管道包括其他基于 SaaS 的活动,在 JSON 定义中有所不同。
- 链接服务:Fabric 将链接服务替换为活动内定义的连接。
- 数据集:Fabric 消除了数据集,在活动中内联定义数据属性。
- 数据流:构造数据流使用 Power Query,而 ADF 数据流依赖于不同的执行引擎和语言。
- 触发器:Fabric 将触发器集成到其激活器框架中,这与 ADF 的独立触发器不同。
- 调试:Fabric 通过删除对单独调试模式的需求来简化调试。
- 更改数据捕获:Fabric 通过复制作业而不是 CDC 项目管理增量数据移动。
- Azure Synapse Link:Fabric 将 Synapse Link 替换为用于数据复制的镜像功能。
- SQL Server Integration Services (SSIS):Fabric 当前不支持 SSIS IR,但允许调用 ADF 管道来执行 SSIS。
- 调用管道活动:Fabric 使用跨平台调用增强了 ADF 的执行管道活动。
集成运行时
在 ADF 中,集成运行时(IR)是定义用于数据处理的计算资源的配置对象。 其中包括用于本地连接的云计算、用于本地连接的自承载 IR、SQL Server Integration Services 的 SSIS IR 和已启用 VNet 的云 IR。
Fabric 作为 SaaS 产品,通过在 Fabric 容量区域中使用基于云的计算来简化此作。 SSIS IR 在 Fabric 中不可用。 对于本地连接,请使用 本地数据网关 (OPDG)。 若要建立安全的网络连接,请使用虚拟网络数据网关。
迁移时,无需移动公用网络 Azure IP。 将 SHIR 重新创建为 OPDG,将已启用 VNet 的 Azure IR 重新创建为 虚拟网络数据网关。
Pipelines
ADF 中的管道处理数据移动、转换和业务流程的工作流。 结构管道类似,但包括其他组件,例如电子邮件、Teams 和语义模型刷新的本机活动。
Fabric 管道的 JSON 定义与 ADF 略有不同,因此无法直接复制/粘贴或导入/导出管道 JSON。 使用相同的工作流模型和技能在 Fabric 中重新生成 ADF 管道,但请注意,来自 ADF 的链接服务和数据集在 Fabric 中不存在。
链接服务
在 ADF 中,链接服务定义数据存储的连接属性。 在 Fabric 中,在复制和数据流等活动中重新创建这些连接。
数据集
ADF 中的数据集定义数据属性,例如类型、列和位置。 在 Fabric 中,这些属性在管道活动和 Connection 对象中内联定义。
数据流
构造数据工厂使用 数据流 进行无代码数据转换(基于 Power Query 构建)。 在 ADF 中,类似的功能称为 数据流,该数据流使用不同的接口和执行引擎。 迁移时,重新创建 ADF 数据流 作为 Fabric 数据流 。
触发器
ADF 中的触发器根据计划、事件或自定义触发器执行管道。 Fabric 使用类似的概念,但将触发器集成到其实时智能框架中,称为 激活器。
结构计划是平台级实体,而不是特定于管道的实体。 重新生成 ADF 计划触发器作为 Fabric 计划,并将激活器用于其他触发器类型。
调试
Fabric 通过消除 ADF 的 调试模式简化了调试。 始终处于交互模式。 若要测试管道,请在编辑器中选择播放按钮。 使用活动状态来激活或停用用于测试的特定活动。
变更数据捕获
ADF 的变更数据捕获(CDC)功能支持增量数据移动。 在 Fabric 中,将 CDC 项目重新创建为 复制作业 项以获取类似的功能。 有关详细信息,请参阅 复制作业 。
Azure Synapse Link
Synapse Link,用于 Synapse 管道,将数据从 SQL 数据库复制到数据湖。 在 Fabric 中,重新创建这些项作为镜像项。 在 Fabric 中查看镜像。
SQL Server Integration Services (SSIS)
Fabric 不支持 SSIS IR。 目前,若要执行 SSIS 包,请使用 ADF 管道,并使用 Invoke 管道活动从 Fabric 调用它。 请参阅 “调用管道”活动。
“调用管道”活动
Fabric 的 调用管道活动 增强了 ADF 的执行 管道活动。 使用它从 Fabric 管道内联调用 ADF 管道,维护特定于 ADF 的功能,例如映射数据流或 SSIS。
示例迁移方案
根据用例,从 ADF 迁移到 Fabric 可能会涉及不同的策略。 本部分概述了有助于有效规划的常见迁移路径和注意事项。
方案 1:ADF 管道和数据流
通过将管道和数据流迁移到 Fabric,实现 ETL 环境的现代化。 规划以下元素:
- 重新创建链接服务作为连接。
- 在管道活动中内联定义数据集属性。
- 将 SHIR(自承载集成运行时)替换为 OPDG(本地数据网关),将 VNet IR 替换为虚拟网络数据网关。
- 使用 Fabric 替代项或调用管道活动重新生成不支持的 ADF 活动。 不支持的活动包括:
- Data Lake Analytics (U-SQL),已弃用的 Azure 服务。
- 可以使用 Get Metadata、管道循环和 If 活动重新生成验证活动。
- Power Query,它作为数据流完全集成到 Fabric 中,可在其中重复使用 M 代码。
- 笔记本、Jar 和 Python 活动可以替换为 Fabric 中的 Databricks 活动。
- Hive、Pig、MapReduce、Spark 和流式处理活动可以替换为 Fabric 中的 HDInsight 活动。
例如,下面是 ADF 数据集配置页,其中包含其文件路径和压缩设置:
下面是 Fabric 中数据工厂的复制活动,其中压缩和文件路径内联在活动:
方案 2:具有 CDC、SSIS 和 Airflow 的 ADF
重新创建 CDC 作为 复制作业 项。 对于 Airflow,请将 DAG 复制到 Fabric 的 Apache Airflow 产品/服务中。 使用 ADF 管道执行 SSIS 包,并从 Fabric 调用它们。
方案 3:已启用 Git 的数据工厂迁移
如果 ADF 或 Synapse 工厂连接到外部 Git 提供程序(如 Azure DevOps(ADO)或 GitHub,则需要将这些项迁移到 Fabric 工作区。 这涉及到在 Fabric 中设置 Git 集成,并将工作流与 Fabric 的 CI/CD 功能保持一致。 请参阅 Fabric 中的 Git 集成。
Fabric 提供两个主要 CI/CD 选项:
- Git 集成:将 Fabric 工作区链接到外部 Git 存储库,例如 ADO 或 GitHub,用于版本控制和代码管理。
- 内置部署管道:使用 Fabric 的本机管道跨环境升级代码,而无需外部 Git 存储库。
在这两种情况下,来自 ADF 的现有 Git 存储库都不适用于 Fabric。 相反,需要指向新的存储库,或在 Fabric 中启动新的 部署管道 ,并在 Fabric 中重新生成管道项。
在 Fabric 工作区中装载 ADF 实例
可以将整个 ADF 工厂装载到 Fabric 工作区中作为本机项。 这样就可以在同一接口中管理 ADF 工厂以及 Fabric 项目。 ADF UI 仍然完全可访问,允许直接从 Fabric 工作区监视、管理和编辑 ADF 工厂项。 但是,管道、活动和集成运行时的执行仍发生在 Azure 资源中。
此功能对于过渡到 Fabric 的组织特别有用,因为它提供了 ADF 和 Fabric 资源的统一视图,简化了迁移的管理和规划。