Apache Nifi - `ConvertJSONToSQL`可能重复

时间:2017-02-27 20:09:16

标签: apache-nifi

请在下面找到我的流程,

ExecuteSQL - > SplitAvro - > ConvertAvroToJSON - > ConvertJSONToSql - > PutSQL

My Flow On Nifi

请注意接收 5403 并发送 10804 ConvertJSONToSQL处理器。有人可以解释一下这里发生了什么吗?我希望看到IN和OUT计数与CovertAvroToJSON处理器一样。这个增加的数字将直接影响我的最终输出表,在那里我可以看到所有记录的重复。

ConvertJSONToSQL处理器注入可能重复的SQL插入语句?

更新2/28 我已经取出了SplitAvro处理器,并且没有重复的记录!请在下面的流程中找到,

ExecuteSQL - > ConvertAvroToJSON - > ConvertJSONToSql - > PutSQL

虽然我还没弄清楚确切的问题!

1 个答案:

答案 0 :(得分:3)

您的流/数据是否有可能即使在SplitAvro和ConvertAvroToJSON之后,流文件也包含JSON数组?根据文档,“如果输入是一个JSON元素数组,则数组中的每个元素都作为单独的FlowFile输出到'sql'关系”。

也许试试ConvertAvroToJSON - > SplitJSON而不是SplitAvro - > ConvertAvroToJSON。如果你仍然在“顶层”获得数组,那么ConvertJsonToSQL仍然会为数组中的每个元素创建一个流文件。在这种情况下,您可能需要另一个SplitAvro或(或者)一个SplitJson。