使用 Azure 数据工厂、单个管道、单个 Databricks Notebook 并行处理表?
Processing tables in parallel using Azure Data Factory, single pipeline, single Databricks Notebook?
我想使用 Azure 数据工厂和一个 Databricks Notebook 并行转换 table 的列表。
我已经有一个 Azure 数据工厂 (ADF) 管道接收 table 列表作为参数,将 table 列表中的每个 table 设置为变量,然后调用一个单独的笔记本(执行简单的转换)并将每个 table 依次传递给这个笔记本。问题在于它串联(一个接一个)地转换 tables 而不是并行(同时所有 tables)。我需要并行处理 tables。
所以,我的问题是:
1) 是否可以从 Azure 数据工厂在完全相同的时间点(每次使用不同的 table 作为参数)多次触发同一个 Databricks 笔记本?
2) 如果是,那么我需要在我的管道或笔记本中更改什么才能使其正常工作?
提前致谢:)
参数
变量
设置Table变量和笔记本
配置顺序
连续未检查,批次计数 = 空白
当配置为 "sequential" 且 Batch Count = 空白,并传递两个 table 时,管道运行 "successfully" 但只有一个 table 被转换(即使我在 table 列表中添加了多个 table)。 "Set variable" 正确显示两次,每个 table 一次。但是 Orchestrate 对同一个 table.
显示了两次
连续未选中,批次计数 = 2
当配置为 "sequential" 且 Batch Count = 2,并传递两个 table 时,管道在第二次迭代时失败,但它也会尝试转换相同的 table 两个次。 "Set variable" 正确显示两次,每个 table 一次。但是 Orchestrate 对同一个 table.
显示了两次
顺序检查或批计数=1
如果我保留顺序检查或批计数 =1,则管道会正确运行并对所有 table 执行转换,但处理是按顺序进行的(如预期的那样)。以下示例为 5 tables.
设置变量任务
变量table 传递值@item()
变量"table"定义为字符串
参数"table_list"
管道运行参数
我使用 "Lookup" 解决了 SQL 表而不是 "Set Variable"。下图显示了 运行 使用一个笔记本并行处理 5 个表。
我想使用 Azure 数据工厂和一个 Databricks Notebook 并行转换 table 的列表。
我已经有一个 Azure 数据工厂 (ADF) 管道接收 table 列表作为参数,将 table 列表中的每个 table 设置为变量,然后调用一个单独的笔记本(执行简单的转换)并将每个 table 依次传递给这个笔记本。问题在于它串联(一个接一个)地转换 tables 而不是并行(同时所有 tables)。我需要并行处理 tables。
所以,我的问题是: 1) 是否可以从 Azure 数据工厂在完全相同的时间点(每次使用不同的 table 作为参数)多次触发同一个 Databricks 笔记本? 2) 如果是,那么我需要在我的管道或笔记本中更改什么才能使其正常工作?
提前致谢:)
参数
变量
设置Table变量和笔记本
配置顺序
连续未检查,批次计数 = 空白
当配置为 "sequential" 且 Batch Count = 空白,并传递两个 table 时,管道运行 "successfully" 但只有一个 table 被转换(即使我在 table 列表中添加了多个 table)。 "Set variable" 正确显示两次,每个 table 一次。但是 Orchestrate 对同一个 table.
显示了两次连续未选中,批次计数 = 2
当配置为 "sequential" 且 Batch Count = 2,并传递两个 table 时,管道在第二次迭代时失败,但它也会尝试转换相同的 table 两个次。 "Set variable" 正确显示两次,每个 table 一次。但是 Orchestrate 对同一个 table.
显示了两次顺序检查或批计数=1
如果我保留顺序检查或批计数 =1,则管道会正确运行并对所有 table 执行转换,但处理是按顺序进行的(如预期的那样)。以下示例为 5 tables.
设置变量任务
变量table 传递值@item()
变量"table"定义为字符串
参数"table_list"
管道运行参数
我使用 "Lookup" 解决了 SQL 表而不是 "Set Variable"。下图显示了 运行 使用一个笔记本并行处理 5 个表。