请在我的流量下面找到,
ExecuteSQL -> SplitAvro -> ConvertAvroToJSON -> ConvertJSONToSql -> PutSQL

注意ConvertJSONToSQL处理器,它接收5403并发送10804。有人能解释一下这里发生了什么吗?我希望看到输入和输出计数是相同的,就像CovertAvroToJSON处理器。这个增加的数量将直接影响到我的最终输出表,在那里我可以看到所有记录的副本。
ConvertJSONToSQL处理器注入可能重复的SQL语句?
更新2/28我已经取出SplitAvro处理器和记录填充没有副本!请在水流下面找到,
ExecuteSQL -> ConvertAvroToJSON -> ConvertJSONToSql -> PutSQL
不过,我还没搞清楚到底出了什么问题!
发布于 2017-02-28 03:09:36
对于您的流/数据来说,即使在SplitAvro和ConvertAvroToJSON之后,流文件也可能包含JSON数组吗?根据文档,“如果输入是JSON元素的数组,则数组中的每个元素作为单独的FlowFile输出到'sql‘关系”。
也许尝试一下ConvertAvroToJSON -> SplitJSON而不是SplitAvro -> ConvertAvroToJSON。如果您仍然得到“顶级”的数组,那么ConvertJsonToSQL仍然会为数组中的每个元素创建一个流文件。在这种情况下,您可能需要另一个SplitAvro或(或者)一个SplitJson。
https://stackoverflow.com/questions/42494858
复制相似问题