azure - 使用 Azure 数据工厂、单个管道、单个 Databricks Notebook 并行处理表?

标签 azure azure-data-factory azure-databricks spark-notebook

我想使用 Azure 数据工厂和一个 Databricks Notebook 并行转换一系列表。

我已经有一个 Azure 数据工厂 (ADF) 管道,它接收表列表作为参数,将表列表中的每个表设置为变量,然后调用一个笔记本(执行简单的转换)并传递每个表与此笔记本系列。问题在于它是串行(一个接着一个)而不是并行(所有表同时)转换表的。我需要并行处理这些表。

所以,我的问题是: 1) 是否可以从 Azure 数据工厂在完全相同的时间点多次触发相同的 Databricks 笔记本(每次使用不同的表作为参数)? 2)如果是,那么我需要在管道或笔记本中更改哪些内容才能使其正常工作?

提前致谢:)

参数

ADF Parameters

变量

variables

设置表变量和笔记本

enter image description here

配置顺序

Configure Sequential

未选中顺序且批处理计数 = 空白

当配置为“顺序”且批量计数 = 空白并传递两个表时,管道“成功”运行,但仅转换一个表(即使我在表列表中添加多个表)。 “设置变量”正确显示两次,每个表一次。但 Orchestrate 对同一个表显示两次。

enter image description here

未选中顺序且批处理计数 = 2

当配置为“顺序”且批量计数 = 2 并传递两个表时,管道在第二次迭代时失败,但它也会尝试两次转换同一个表。 “设置变量”正确显示两次,每个表一次。但 Orchestrate 对同一个表显示两次。

Sequential Unchecked with Batch Count = 2

顺序检查或批量计数 =1

如果我保留 Sequential Checked 或 Batch Count =1,则管道会正确运行并对所有表执行转换,但处理会按顺序进行(如预期)。下面是 5 个表的示例。

Sequential Checked or Batch Count =1

Example of Sequential Checked or Batch Count =1

设置变量任务

Set Variable Task Overview

使用值 @item() 传递变量表

Variable table passed with value @item()

变量“表”定义为字符串

Variable "table"

参数“table_list”

Parameter "table_list"

管道运行参数

Pipeline Run Parameters

最佳答案

我使用“查找”SQL 表而不是“设置变量”解决了这个问题。下图显示了使用一个笔记本并行运行 5 个表。

enter image description here

关于azure - 使用 Azure 数据工厂、单个管道、单个 Databricks Notebook 并行处理表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59724020/

相关文章:

azure - 如何使用公共(public) SSH key 在 Azure 数据工厂中创建 SFTP 连接

azure - "Failed to delete integration runtime."Azure 数据工厂

azure - 将笔记本输出作为参数传递以复制事件

sql-server - 从 Azure Databricks 连接到 SQL Server

Azure Databricks 通过服务主体访问 Azure Data Lake Storage Gen2

Azure 调度程序 : first working day of every month

azure - 如何从azure获取blob

azure - 基于Message属性触发WebJob方法

azure - 使用 az-cli 查询未按预期运行

api - 我们可以在 Azure Databricks 中使用外部 API 吗?