在 Azure 数据工厂中使用过滤器 Activity 过滤数据时出现问题
Issue with Filtering data With Filter Activity in Azure Data Factory
我正在尝试使用过滤器 activity 和 select 仅过滤整个 blob 容器中的最新日期来过滤以下文件夹。
文件夹名称示例:2020-04-21、2021-08-11、2020-01-07
我需要select 2021-08-11
我正在使用获取元数据 (ChildItems) activity 来获取文件夹名称并使用以下逻辑在过滤器 activity.
中过滤它们
@greater(max(array(int(replace(item().name, '-', '')))),0)
但是在过滤之后我得到了所有的文件夹。
我知道我的逻辑有问题,但我是 ADF 的初学者
您可以先获取元数据以获取完整的文件夹列表,使用 ForEach 查找最新的文件夹并将文件夹名称分配给变量,最后使用变量复制数据,该变量现在存储您的最新文件夹名称.
父管道:
GetMetadata 的输出:
ForEach 中使用的动态内容:@activity('Get Metadata1').output.childItems
forEach 仅包含 1 if 条件 activity:
使用的表达方式与你的相似:@greater(int(replace(item().name, '-', '')), int(replace(variables('latestFolder'),'-','')))
真实案例里面只有变量赋值:
最后使用变量,现在包含最新文件夹的文件夹名称,在
复制 activity:
我正在尝试使用过滤器 activity 和 select 仅过滤整个 blob 容器中的最新日期来过滤以下文件夹。
文件夹名称示例:2020-04-21、2021-08-11、2020-01-07
我需要select 2021-08-11
我正在使用获取元数据 (ChildItems) activity 来获取文件夹名称并使用以下逻辑在过滤器 activity.
中过滤它们@greater(max(array(int(replace(item().name, '-', '')))),0)
但是在过滤之后我得到了所有的文件夹。 我知道我的逻辑有问题,但我是 ADF 的初学者
您可以先获取元数据以获取完整的文件夹列表,使用 ForEach 查找最新的文件夹并将文件夹名称分配给变量,最后使用变量复制数据,该变量现在存储您的最新文件夹名称.
父管道:
GetMetadata 的输出:
ForEach 中使用的动态内容:@activity('Get Metadata1').output.childItems
forEach 仅包含 1 if 条件 activity:
使用的表达方式与你的相似:@greater(int(replace(item().name, '-', '')), int(replace(variables('latestFolder'),'-','')))
真实案例里面只有变量赋值:
最后使用变量,现在包含最新文件夹的文件夹名称,在
复制 activity: