我想使用 Azure 数据工厂和一个 Databricks Notebook 并行转换表列表。
我已经有一个 Azure 数据工厂 (ADF) 管道,它接收表列表作为参数,将表列表中的每个表设置为变量,然后调用一个笔记本(执行简单转换)并将每个表依次传递给这个笔记本。问题是它以串行方式(一个接一个)而不是并行方式(所有表同时)转换表。我需要并行处理这些表。
所以,我的问题是:1)是否可以从 Azure 数据工厂在完全相同的时间点(每次使用不同的表作为参数)多次触发同一个 Databricks 笔记本?2)如果是,那么我需要在管道或笔记本中进行哪些更改才能使其正常工作?
提前致谢 :)
参数
变量
设置表变量和笔记本
配置顺序
批次计数未选中的顺序 = 空白
当配置为“顺序”且批次计数 = 空白并传递两个表时,管道“成功”运行但只有一个表被转换(即使我在表列表中添加多个表)。“设置变量”正确显示两次,每个表一次。但 Orchestrate 为同一张表显示了两次。
批次计数 = 2 时未检查顺序
当配置为“sequential”和 Batch Count = 2 并传递两个表时,管道在第二次迭代时失败,但它也会尝试转换同一个表两次。“设置变量”正确显示两次,每个表一次。但 Orchestrate 为同一张表显示了两次。
顺序检查或批次计数 =1
如果我保留 Sequential Checked 或 Batch Count =1,则管道将正确运行并对所有表执行转换,但处理是按顺序进行的(如预期的那样)。下面以 5 个表为例。
设置可变任务
使用值 @item() 传递的变量表
变量“表”定义为字符串
参数“table_list”
管道运行参数