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

NiFi Jolt转换需求:按文件路径分组生成对应文件名数组

NiFi Jolt转换规则实现按路径分组整理文件名

输入JSON示例

[
  {
    "filename": "FF/raw/first/raw_A/filenameA_20240212002113.DAT"
  },
  {
    "filename": "FF/raw/first/raw_A/filenameA__20240205150101.DAT"
  },
  {
    "filename": "FF/raw/first/raw_B/filenameB_20240212002113.DAT"
  },
  {
    "filename": "FF/raw/first/raw_B/filenameB_20240205150101.DAT"
  }
]

目标输出JSON示例

[
  {
    "raw_A": [
      "filenameA_20240212002113.DAT",
      "filenameA_20240205150101.DAT"
    ]
  },
  {
    "raw_B": [
      "filenameB_20240212002113.DAT",
      "filenameB_20240205150101.DAT"
    ]
  }
]

Jolt转换规则

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "pathParts": "=split('/', @(1,filename))",
        "group": "@(1,pathParts[3])",
        "fileName": "@(1,pathParts[-1])"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "fileName": "@(1,group).[]"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "$": "[#2].&",
        "@": "[#2].&"
      }
    }
  }
]

规则步骤说明

  • modify-overwrite-beta 操作:将每个filename按/拆分路径为数组,提取第4个元素作为分组标识,提取最后一个元素作为独立文件名。
  • 第一次 shift 操作:以分组标识为键,将同组的文件名归集到对应数组中,形成键值对结构。
  • 第二次 shift 操作:把每个键值对转换为单独的对象,最终组合成目标数组格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 06:43:37