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
}]

流量:

这是您的操作方法:

  • 这是我创建的用于注入传入 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 过程设置