我正在比较 movies.csv 中的标题,该标题与 json 文件中的 title 元素匹配,然后将文件名附加到接收器中的 list.txt。假设“Big Hero”和“Moana”在 file1.json 和 file5.json 中匹配。但是,ADF 将整个 file1.json 和 file5.json 返回到接收器。
我只想在 list.txt 中看到文件名“file1.json”和“file5.json”。
标题.csv:
- 狮子王
- 大英雄
- 莫阿娜
list.txt(接收器)中的最终结果:
文件1.json
文件5.json
ADF 数据流设置:
源选项>存储文件名的列>列表
derivedColumn1>Columns>标题和表达式 lower(trim(record.metadata.Title))
lookup1>主流> derivedColumn1
lookup1>查找流>源CSV
filter1>过滤> isNull(sourceCSV@title) == false()
接收器>列数据>列表
获取所需的行后,您可以使用选择转换来仅获取所需的
filename
列。查找之前,请确保使用派生列转换将源 csv 文件中的行更改为小写。
现在,使用过滤器转换后,使用基于规则的映射的选择转换,如下所示。
现在,将您的文本文件添加为数据流中的接收器并从管道运行数据流。
它将按预期生成目标文本文件。