我正在Azure Synapse中开发ETL管道。
在以前的版本中,我使用了一个Array集作为管道的参数,它包含JSON对象。[{"source":{"table":"Address"},"destination {"filename:"Address.parquet"},"source_system":"SQL","loadtype":"full"}}]
这是后来作为item()使用的,我使用ForEach、switch、ifs和嵌套管道来处理所有的表,我只是将item参数传递给子管道,它工作得很好。
现在我的任务是创建一个专用的SQL池和一个表,该表将参数存储为列。源表、目标文件、源系统和加载类型。
示例:
| 源_表|目标文件|源_系统|负载类型|
| - ------|- ------|- ------|- ------|
| "地址"|"地址. parquet "|"SQL语言"|"满"|
我不知道如何在ForEach活动中使用此表,也不知道如何以这种方式处理表,因为它不是Array。
我目前所做的:我创建了专用SQL池和以下存储过程:
- 创建参数表
- 插入参数
- 获取参数
get_parameters是一个SQL SELECT语句,但我不知道如何将其转换为可以在ForEach活动中使用的方式。CREATE PROCEDURE get_parameters AS BEGIN SELECT source_table, destination_filename, source_system, load_type FROM parameters END
所有这些过程都是作为SQL池存储过程在管道中调用的。我不知道如何在表中循环。我需要将每一行作为一个表或一个对象,就像在数组中一样。
1条答案
按热度按时间9rygscc11#
@activity('Lookup1').output.value