Azure 数据工厂中进程中的动态变量列表

Dynamic list of variables in process in Azure Data Factory

我有一个查找配置 table,它存储 1) 源 table 和 2) 要处理的变量列表,例如:

SQL 查找 Table:

tableA, variableX,variableY,variableZ <-- tableA 不止这 3 个变量,即它还有其他变量,例如变量 V、变量 W,但它们不需要已处理

tableB, variableA,variableB <-- tableB 有不止这两个变量

因此,我需要动态连接到每个 table 并处理每个 table 中的特定变量。处理步骤是将儒略日期(整数格式)转换为标准日期(日期格式)。 SQL 查询示例:

select dateadd(dd, (variableX - ((variableX/1000) * 1000)) - 1, dateadd(yy, variableX/1000, 0)) FROM [dbo].[tableA]

问题是在 ADF 中设置 lookupforEach 之后,我不确定如何循环变量数组(或字符串,因为 SQL DB 不允许我存储数组结果)并将所有这些变量转换为标准时间格式。

return 结果应该是要导出到接收器的已处理数据集。

因此想检查在 ADF 中实现此目的的最佳方法是什么?

谢谢!

我已经在本地环境中进行了反驳。请参阅以下步骤。

  1. 使用查找 activity,首先从控件 table.
  2. 中获取所有 tables 列表

  1. 将查找输出传递给 ForEach activity。

  1. 在 ForEach activity 内,添加查找 activity 以从控件 table 获取变量列表,其中 table 名称是 ForEach [的当前项 activity.

      @concat('select table_variables from control_tb where table_name = ''',item().table_name,'''')
    

  1. 使用设置变量 activity.
  2. 将 lookup2 activity 输出值转换为数组

@split(activity('Lookup2').output.firstRow.table_variables,',')

  1. 使用 2 个参数(table 名称(字符串)和变量(数组))创建另一个管道 (pipeline2),并在 pipeline2
  2. 中添加 ForEach activity

  1. 将数组参数传递给pipeline2中的ForEachactivity并使用副本activity将数据从source复制到sink

  1. 将执行管道 activity 连接到 ForEach activity 内的管道 1。