如何将数十个字段转换为Nifi属性?



我有json与几十个字段,我怎么能很容易地将其转换为nifi属性?

我使用了EvaluateJsonPath,但是必须一个一个地输入值。

我将在Phoenix DB中使用这些属性,当我使用ConvertJsontoSQL时,它不起作用…

你能帮我解决这个问题吗?

JoltTransformJSON示例内容如下;

{
"AAAA": "AAAA",
"BBBB": "BBBB",
"CCCC": "CCCC",
"DDDD": "DDDD",
"EEEE": "EEEE",
"FFFF": "FFFF",
"GGGG": "GGGG",
"HHHH": "HHHH",
...
...
...
}

我想定义json字段到nifi属性。我不想用EvaluateJsonPath逐个输入。

Edit:我为ExecuteGroovyScript找到了这个脚本并处理它。

import org.apache.commons.io.IOUtils
import java.nio.charset.*
def flowFile = session.get();
if (flowFile == null) {
return;
}
def slurper = new groovy.json.JsonSlurper()
def attrs = [:] as Map<String,String>
session.read(flowFile,
{ inputStream ->
def text = IOUtils.toString(inputStream, StandardCharsets.UTF_8)
def obj = slurper.parseText(text)
obj.each {k,v ->
attrs[k] = v.toString()
}
} as InputStreamCallback)
flowFile = session.putAllAttributes(flowFile, attrs)
session.transfer(flowFile, REL_SUCCESS)

最新更新