Azure data factory 多个数据流与一个数据库中的所有转换

Azure data factory 多个数据流与一个数据库中的所有转换,azure-data-factory,azure-data-flow,Azure Data Factory,Azure Data Flow,您好,我是Azure data factory的新手,并不完全熟悉后台运行的后端处理。我想知道与在一个数据流中进行所有转换相比,并行运行两个数据流是否会对性能产生影响 我试图用一个不存在的转换来处理一些数据。我必须为多张桌子做这件事。当我测试并行运行两个数据流时,两个数据流的集群同时出现在一起。但我不确定这是否是将表的加载分布到两个数据流中的最佳方法,还是将所有转换都放在一个数据流中的最佳方法:如果并行执行管道中的数据流,ADF将根据附加到每个活动的Azure集成运行时中的设置为每个活动启动单独

您好,我是Azure data factory的新手,并不完全熟悉后台运行的后端处理。我想知道与在一个数据流中进行所有转换相比,并行运行两个数据流是否会对性能产生影响


我试图用一个不存在的转换来处理一些数据。我必须为多张桌子做这件事。当我测试并行运行两个数据流时,两个数据流的集群同时出现在一起。但我不确定这是否是将表的加载分布到两个数据流中的最佳方法,还是将所有转换都放在一个数据流中的最佳方法:如果并行执行管道中的数据流,ADF将根据附加到每个活动的Azure集成运行时中的设置为每个活动启动单独的Spark群集

2:如果将所有逻辑放在单个数据流中,那么它将在单个Spark群集实例上的相同作业执行上下文中执行

3:另一个选项是在管道中以串行方式执行活动。如果您已在Azure IR配置上设置了TTL,则ADF将重用计算资源(VM),但每次执行时仍将使用全新的Spark上下文

所有这些都是有效的实践,您选择哪一个应该由您的ETL过程需求驱动

第3条可能需要最长的时间来执行端到端。但它确实为每个数据流步骤中的操作提供了清晰的分离

第二条可能更难逻辑地遵循,也不会给你太多的可重用性


1号与3号非常相似,但它们都是并行运行的。当然,并非每个端到端流程都可以并行运行。在开始下一个之前,您可能需要完成一个数据流,在这种情况下,您将返回到#3串行模式。

Hi@Markkromer感谢您的回复,我正在考虑创建一个包含两个数据流的管道来暂存增量记录。然后在另一个管道中调用数据流管道,然后以串行方式执行存储过程。我相信这应该实现我的ETL目标。从性能和成本的角度来看,您会推荐这种方法吗?