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