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

如何使用JOLT转换将Prometheus API数据关联数组值为单条记录

JOLT转换方案:Prometheus Matrix格式转扁平化记录数组

需求说明

将Prometheus API返回的matrix类型JSON数据,把每个result项的metric字段(排除__name__)与values数组的每一组值关联,转换为单条记录的扁平化数组。

JOLT转换规范

[
  {
    "operation": "shift",
    "spec": {
      "data": {
        "result": {
          "*": {
            "metric": {
              "*": "&3_&1_&",
              "__name__": null
            },
            "values": {
              "*": {
                "0": "&4_&1_timestamp",
                "1": "&4_&1_value"
              }
            }
          }
        }
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*_*": {
        "*": "&2.&",
        "timestamp": "&2.timestamp",
        "value": "&2.value"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": "[]"
    }
  }
]

转换步骤解释

  1. 第一层Shift操作

    • 定位到data.result数组,遍历每个结果项
    • 复制metric中除__name__外的所有字段,用带结果项索引的临时键标记,确保字段归属对应结果项
    • 遍历values数组的每个元素,将时间戳(数组第1个元素)和值(数组第2个元素)分别映射为带结果项索引的临时键
  2. 第二层Shift操作

    • 将带相同结果项索引的临时键整合为独立对象,把metric字段、timestamp、value归到同一对象下
  3. 第三层Shift操作

    • 将所有独立对象收集到根数组中,生成最终的扁平化记录结构

验证

将你提供的输入JSON通过上述JOLT规范转换后,即可得到期望的输出数组结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 17:07:19