Apache NiFi 사용 다른 두 필드의 연결을 기반으로 JSON 플로우 파일 내의 모든 요소에 새 필드를 추가하고 싶습니다. 이 경우 JoltTransformJSON
프로세서를 사용하려고하지만, 사용하려는 Jolt 변환은 온라인 tools을 사용하여 정상적으로 작동하지만 NiFi에서는 작동하지 않습니다. 버전 문제가 의심 스럽지만 Jolt 사양에 어리 석을 수 있습니다. JSON에서 concat 지원 Apache에서의 Jolt NiFi
JSON은 다음과 같습니다 입력
...[
{
"id": 485842,
"cc": 1,
"x": 0,
"y": null
},
{
"id": 281733,
"cc": 1,
"x": 0,
"y": 10
},
{
"id": 721412,
"cc": 12,
"x": 0,
"y": null
}
]
내가 원하는 원하는 출력이입니다 ...
[ {
"id" : 485842,
"cc" : 1,
"x" : 0,
"y" : null,
"id_cc" : "485842_1"
}, {
"id" : 281733,
"cc" : 1,
"x" : 0,
"y" : 10,
"id_cc" : "281733_1"
}, {
"id" : 721412,
"cc" : 12,
"x" : 0,
"y" : null,
"id_cc" : "721412_12"
} ]
그리고 맞으면 내가 site이 온라인에서 사용 변환 .. . NiFi에서
[{
"operation": "modify-default-beta",
"spec": {
"*": {
"id_cc": "=concat(@(1,id),'_',@(1,cc))"
}
}
}]
, 나는을 위해
JoltTransformJSON
프로세서를 구성및 약간 수정 된 Jolt 사양을 사용합니다 ...
{
"operation": "modify-default",
"spec": {
"*": {
"id_cc": "=concat(@(1,id),'_',@(1,cc))"
}
}
}
NiFi가이 확인을 확인하고 프로세스가 실행됩니다. 이 문제를 해결 또는 거기가 시프트 연산을 사용하여 더 쉬운 방법입니다 것 수정 - 기본 동작에 빠른 수정이되는 출력 JSON은 하나의 기록으로 구성되어 있으며 새로운 필드는이
"operation": "modify-default"
처럼 추가 ?
미리 알려 주셔서 감사합니다.
select (select id, cc, x, y, CAST (id AS VARCHAR) || '_'|| CAST (cc AS VARCHAR) AS id_cc FROMFILE)와 함께 QueryRecord 프로세서를 사용할 수 있습니다. 나는 나중에 대답을 쓸 것이다. – tonykoval