在 Apache Nifi 中转换 ExecuteSQL 记录
transform ExecuteSQL record in Apache Nifi
我是 Nifi 的新手,所以还缺乏学习这方面的知识。我的任务是从 executeSQL 和记录 return 中获取数据,如下所示:
[{
"PKG_HA_01_ON":2.0,
"PKG_HA_03_ON":28.0,
"PKG_HA_04_ON":7.0,
"PKG_HA_05_ON":0.0,
"PKG_HA_06_ON":1.0,
"PKG_HA_09_ON":5.0
},
{
"PKG_HA_01_ON":8.02905,
"PKG_HA_03_ON":57.29038333333333,
"PKG_HA_04_ON":2.2858666666666663,
"PKG_HA_05_ON":60.0,
"PKG_HA_06_ON":12.291533333333332,
"PKG_HA_09_ON":12.3363
}]
这是联合查询的结果。现在,我想转换成这样:
[{
"machine":"PKG_HA_01_ON",
"counter":2.0,
"duration":8.02905
},
{
"machine":"PKG_HA_03_ON",
"counter":28.0,
"duration":57.29038333333333
}]
我研究过 JoltTransformJSON,但仍然坚持使用它。那么达到预期效果的最佳方法是什么 JSON?
提前致谢!!!
您可以连续应用 shift 转换为
[
{
"operation": "shift",
"spec": {
"*": {
"@PKG_HA_01_ON": "PKG_HA_01_ON.&",
"@PKG_HA_03_ON": "PKG_HA_03_ON.&"
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"$": "&.machine",
"@(1,&.0)": "&.counter",
"@(1,&.1)": "&.duration"
}
}
},
{
"operation": "shift",
"spec": {
"*": ""
}
}
]
在第一步中将结果集限制为两个键 (PKG_HA_01/3_ON
),同时分别确定键 0
和 1
的值,然后将这些编号的键转换为您的(分别为 counter
和 duration
)同时添加 machine
元素,并在最后一步删除键名。
我是 Nifi 的新手,所以还缺乏学习这方面的知识。我的任务是从 executeSQL 和记录 return 中获取数据,如下所示:
[{
"PKG_HA_01_ON":2.0,
"PKG_HA_03_ON":28.0,
"PKG_HA_04_ON":7.0,
"PKG_HA_05_ON":0.0,
"PKG_HA_06_ON":1.0,
"PKG_HA_09_ON":5.0
},
{
"PKG_HA_01_ON":8.02905,
"PKG_HA_03_ON":57.29038333333333,
"PKG_HA_04_ON":2.2858666666666663,
"PKG_HA_05_ON":60.0,
"PKG_HA_06_ON":12.291533333333332,
"PKG_HA_09_ON":12.3363
}]
这是联合查询的结果。现在,我想转换成这样:
[{
"machine":"PKG_HA_01_ON",
"counter":2.0,
"duration":8.02905
},
{
"machine":"PKG_HA_03_ON",
"counter":28.0,
"duration":57.29038333333333
}]
我研究过 JoltTransformJSON,但仍然坚持使用它。那么达到预期效果的最佳方法是什么 JSON?
提前致谢!!!
您可以连续应用 shift 转换为
[
{
"operation": "shift",
"spec": {
"*": {
"@PKG_HA_01_ON": "PKG_HA_01_ON.&",
"@PKG_HA_03_ON": "PKG_HA_03_ON.&"
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"$": "&.machine",
"@(1,&.0)": "&.counter",
"@(1,&.1)": "&.duration"
}
}
},
{
"operation": "shift",
"spec": {
"*": ""
}
}
]
在第一步中将结果集限制为两个键 (PKG_HA_01/3_ON
),同时分别确定键 0
和 1
的值,然后将这些编号的键转换为您的(分别为 counter
和 duration
)同时添加 machine
元素,并在最后一步删除键名。