You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Data Factory中基于TSV路径读取JSON并合并数据?

解决方案:用Azure Data Factory数据流实现TSV与关联JSON的合并

1. 数据源配置

  • 创建TSV文件数据源:选择对应版本的Azure Data Lake Storage,指定TSV所在容器与路径,格式设为TSV,确保Id、ResponsePath列被正确识别导入。
  • 创建JSON文件数据源:同样选择ADLS存储,不指定具体文件路径(后续动态赋值),格式设为JSON,文档模式选「单文档」(每个ResponsePath对应单个JSON文件)。

2. 数据流核心步骤配置

步骤1:引入TSV数据源

拖入「源数据集」节点,选择已创建的TSV数据源,命名为Source_TSV作为数据流起始节点。

步骤2:处理JSON文件路径

在Source_TSV后添加「派生列」转换,命名为Derive_FilePath:

  • 派生新列Full_JSON_Path,若ResponsePath是相对路径,用表达式拼接完整ABFSS路径,示例:
    'abfss://<容器名>@<存储账户名>.dfs.core.windows.net/' + ResponsePath
    
    若ResponsePath已是完整路径,直接引用该列即可。

步骤3:动态查找并读取JSON

在Derive_FilePath后添加「查找」转换,命名为Lookup_JSON:

  • 查找类型选「查找数据集」,选择已创建的JSON数据源。
  • 勾选「动态路径」,选择Full_JSON_Path列作为文件路径(数据流会自动将列值传递给JSON数据源的路径参数)。
  • 在列映射中,提取JSON里的trace id属性(嵌套结构用点语法,如$.traceId),重命名为TraceId避免冲突。

步骤4:合并数据并输出

在Lookup_JSON后添加「选择」转换,命名为Select_Final,保留原TSV的Id、ResponsePath列,加上提取的TraceId列,剔除多余字段。

  • 拖入「接收器」转换,选择目标数据存储(如ADLS、SQL数据库),配置对应数据集与写入规则(追加/覆盖等)。

3. 调试与运行

  • 点击「数据预览」,验证每一步输出:确认每条TSV记录都正确关联对应JSON,TraceId提取无误。
  • 发布数据流后,在管道中添加「执行数据流」活动,触发运行即可。

注意事项

  • 若JSON是数组格式,需将JSON数据源的「文档形式」改为「数组」,并在查找后添加「展开」转换提取单个对象的trace id。
  • 确保数据流的服务主体/托管标识拥有TSV与JSON文件的读取权限。

内容的提问来源于stack exchange,提问作者LancerHak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 14:23:15