Nifi 从 getHbase 结果中获取特定的列值
Nifi Getting specific column value from getHbase result
我正在尝试使用 GetHBase 进程从 Hbase 获取数据,结果如下
{
"row" : "r5",
"cells" : {
"cf1:ABC:" : "V1",
"cf1:DEF" : "V2",
"cf1:HIJ" : "V3",
"cf1:KLM" : "V4"
}
}
现在,我想过滤特定列的 json
预期结果
{"DEF":"V2","KLM":"V4"}
流程已尝试
GetHbase --> evaluateJsonPath
只需使用JoltTransformJSON,将Jolt Transformation DSL
设置为Shift
并将Jolt Specification
设置为:
{
"cells": {
"cf1:DEF": "DEF",
"cf1:KLM": "KLM"
}
}
这会将您的输入 json 转换为您想要的 json。
Jolt Transform 是一个开源库,可帮助您使用其他 Json 文档作为规范来转换 Json 文档。
如果您想对它们进行参数化,可以像这样使用 NiFi 1.10.0 使用参数来实现:
{
"cells": {
"cf1:#{param1}": "#{param1}",
"cf1:#{param2}": "#{param2}"
}
}
或者将 NiFi 1.4.0+ 与 expression language and the variable registry 一起使用,如下所示:
{
"cells": {
"cf1:${param1}": "${param1}",
"cf1:${param2}": "${param2}"
}
}
所有内容都链接到文档,因此您可以阅读所有内容:)
我正在尝试使用 GetHBase 进程从 Hbase 获取数据,结果如下
{
"row" : "r5",
"cells" : {
"cf1:ABC:" : "V1",
"cf1:DEF" : "V2",
"cf1:HIJ" : "V3",
"cf1:KLM" : "V4"
}
}
现在,我想过滤特定列的 json
预期结果
{"DEF":"V2","KLM":"V4"}
流程已尝试
GetHbase --> evaluateJsonPath
只需使用JoltTransformJSON,将Jolt Transformation DSL
设置为Shift
并将Jolt Specification
设置为:
{
"cells": {
"cf1:DEF": "DEF",
"cf1:KLM": "KLM"
}
}
这会将您的输入 json 转换为您想要的 json。
Jolt Transform 是一个开源库,可帮助您使用其他 Json 文档作为规范来转换 Json 文档。
如果您想对它们进行参数化,可以像这样使用 NiFi 1.10.0 使用参数来实现:
{
"cells": {
"cf1:#{param1}": "#{param1}",
"cf1:#{param2}": "#{param2}"
}
}
或者将 NiFi 1.4.0+ 与 expression language and the variable registry 一起使用,如下所示:
{
"cells": {
"cf1:${param1}": "${param1}",
"cf1:${param2}": "${param2}"
}
}
所有内容都链接到文档,因此您可以阅读所有内容:)