Apache Nifi - 如何在 ConvertJSONToSQL 中使用来自 JSON 的属性?
Apache Nifi - How to use properties from JSON in ConvertJSONToSQL?
JSON 是一个对象数组,每个对象包含目的地 table。
是否可以动态设置目标 table(对于每一行)?
编辑
有效负载:
[ {
"dest" : "central.grupo",
"keys" : "cd_grupo",
"cd_grupo" : "1",
"de_grupo" : "MEDICAMENTO",
"id_op" : "I",
"cd_int_controle" : 8264651
}, {
"dest" : "central.grupo",
"keys" : "cd_grupo",
"cd_grupo" : "2",
"de_grupo" : "POPULAR",
"id_op" : "I",
"cd_int_controle" : 8264652
}]
keys
为更新密钥;
dest
是目的地table
流量:
这是您的操作方法:
- 这是我创建的用于注入传入 json 的模式 - 基于它包含的属性。
create table operations.grupo (
dest varchar(10),
mykeys varchar(10),
cd_grupo varchar(20),
de_grupo varchar(20),
id_op varchar(20),
cd_int_controle varchar(20));
create table operations.grupo1 (
dest varchar(10),
mykeys varchar(10),
cd_grupo varchar(20),
de_grupo varchar(20),
id_op varchar(20),
cd_int_controle varchar(20));
您使用的 nifi procs 将是:
SplitJson >> EvaluateJson(extract dest & keys) >> ConvertJsonToSQL(use the dest & keys attributes) >> PutSQL(just set the connection)
此方法要求您在目标中包含 dest 列和键 table。
如果你不想,你可以使用 jolttransformation(干净的方法)避免这种情况,或者你可以使用 evaluatejson 来评估所有 json 属性,然后使用 attributestojson 来构造 json 有效载荷,但载荷中没有 dest & keys。
这是评估json 过程设置
JSON 是一个对象数组,每个对象包含目的地 table。
是否可以动态设置目标 table(对于每一行)?
编辑
有效负载:
[ {
"dest" : "central.grupo",
"keys" : "cd_grupo",
"cd_grupo" : "1",
"de_grupo" : "MEDICAMENTO",
"id_op" : "I",
"cd_int_controle" : 8264651
}, {
"dest" : "central.grupo",
"keys" : "cd_grupo",
"cd_grupo" : "2",
"de_grupo" : "POPULAR",
"id_op" : "I",
"cd_int_controle" : 8264652
}]
keys
为更新密钥;dest
是目的地table
流量:
这是您的操作方法:
- 这是我创建的用于注入传入 json 的模式 - 基于它包含的属性。
create table operations.grupo (
dest varchar(10),
mykeys varchar(10),
cd_grupo varchar(20),
de_grupo varchar(20),
id_op varchar(20),
cd_int_controle varchar(20));
create table operations.grupo1 (
dest varchar(10),
mykeys varchar(10),
cd_grupo varchar(20),
de_grupo varchar(20),
id_op varchar(20),
cd_int_controle varchar(20));
您使用的 nifi procs 将是:
SplitJson >> EvaluateJson(extract dest & keys) >> ConvertJsonToSQL(use the dest & keys attributes) >> PutSQL(just set the connection)
此方法要求您在目标中包含 dest 列和键 table。
如果你不想,你可以使用 jolttransformation(干净的方法)避免这种情况,或者你可以使用 evaluatejson 来评估所有 json 属性,然后使用 attributestojson 来构造 json 有效载荷,但载荷中没有 dest & keys。
这是评估json 过程设置