Apache NiFiの使用JSONフローファイル内のすべての要素に、他の2つのフィールドの連結に基づいて新しいフィールドを追加します。私はこのためにJoltTransformJSON
プロセッサを使用しようとしていますが、使用したいJolt変換はオンラインtoolsを使用してもOKですが、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"
} ]
そして、Joltはオンラインsiteに私が使用して変換..ですNiFiで。
[{
"operation": "modify-default-beta",
"spec": {
"*": {
"id_cc": "=concat(@(1,id),'_',@(1,cc))"
}
}
}]
、私はを持っているJoltTransformJSON
プロセッサを設定と私はこのわずかに変更されたJolt仕様を使用します...
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