如何让ADF数据流单文件接收器仅输出匹配的JSON文件名而非完整文件
ADF数据流:仅输出匹配的JSON文件名到list.txt
问题场景
将movies.csv中的标题与JSON文件的title元素匹配后,需将匹配到的JSON文件名(如file1.json、file5.json)追加到接收器的list.txt中,但当前ADF会输出整个JSON文件内容,不符合需求。
相关文件内容
title.csv内容
- The Lion King
- Big Hero
- Moana
期望的list.txt结果
- file1.json
- file5.json
当前ADF数据流配置
- 源选项>存储文件名的列:
list - 派生列1>列:
Title,表达式:lower(trim(record.metadata.Title)) - Lookup1>主数据流:
derivedColumn1 - Lookup1>查找数据流:
sourceCSV - Filter1>过滤条件:
isNull(sourceCSV@title) == false() - 接收器>列数据:
list
调整方案
- 统一Lookup匹配规则
在查找数据流(sourceCSV)中添加派生列转换,将csv中的标题处理为lower(trim(title)),确保与主数据流的Title列匹配逻辑一致,避免因大小写或空格导致匹配误差。 - 过滤后仅保留文件名列
在Filter1之后添加选择列转换,仅勾选list列(存储JSON文件名的列),剔除JSON文件的其他内容列。 - 接收器精准配置
- 接收器类型选择
DelimitedText,输出文件设为list.txt - 映射环节仅保留
list列的映射关系,确保输出仅包含文件名 - 若存在重复文件名的情况,可在选择列后添加去重转换,基于
list列去重,避免重复输出
- 接收器类型选择
内容的提问来源于stack exchange,提问作者thichxai
相关产品推荐
相关产品推荐

