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
中设置 lookup 和 forEach 之后,我不确定如何循环变量数组(或字符串,因为 SQL DB 不允许我存储数组结果)并将所有这些变量转换为标准时间格式。
return 结果应该是要导出到接收器的已处理数据集。
因此想检查在 ADF 中实现此目的的最佳方法是什么?
谢谢!
我已经在本地环境中进行了反驳。请参阅以下步骤。
- 使用查找 activity,首先从控件 table.
中获取所有 tables 列表
- 将查找输出传递给 ForEach activity。
在 ForEach activity 内,添加查找 activity 以从控件 table 获取变量列表,其中 table 名称是 ForEach [的当前项 activity.
@concat('select table_variables from control_tb where table_name = ''',item().table_name,'''')
- 使用设置变量 activity.
将 lookup2 activity 输出值转换为数组
@split(activity('Lookup2').output.firstRow.table_variables,',')
- 使用 2 个参数(table 名称(字符串)和变量(数组))创建另一个管道 (pipeline2),并在 pipeline2
中添加 ForEach activity
- 将数组参数传递给pipeline2中的ForEachactivity并使用副本activity将数据从source复制到sink
- 将执行管道 activity 连接到 ForEach activity 内的管道 1。
我有一个查找配置 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
中设置 lookup 和 forEach 之后,我不确定如何循环变量数组(或字符串,因为 SQL DB 不允许我存储数组结果)并将所有这些变量转换为标准时间格式。
return 结果应该是要导出到接收器的已处理数据集。
因此想检查在 ADF 中实现此目的的最佳方法是什么?
谢谢!
我已经在本地环境中进行了反驳。请参阅以下步骤。
- 使用查找 activity,首先从控件 table. 中获取所有 tables 列表
- 将查找输出传递给 ForEach activity。
在 ForEach activity 内,添加查找 activity 以从控件 table 获取变量列表,其中 table 名称是 ForEach [的当前项 activity.
@concat('select table_variables from control_tb where table_name = ''',item().table_name,'''')
- 使用设置变量 activity. 将 lookup2 activity 输出值转换为数组
@split(activity('Lookup2').output.firstRow.table_variables,',')
- 使用 2 个参数(table 名称(字符串)和变量(数组))创建另一个管道 (pipeline2),并在 pipeline2 中添加 ForEach activity
- 将数组参数传递给pipeline2中的ForEachactivity并使用副本activity将数据从source复制到sink
- 将执行管道 activity 连接到 ForEach activity 内的管道 1。