我正在尝试读取 3 个 HBase 表上的新表条目(使用 GetHBase 处理器)并将它们合并到单个 JSON 中。但是,每个 GetHBase 处理器在其各自的表上发生新插入时立即运行。最后合并内容(使用 MergeContent 处理器)后,我分别获得 3 个表的数据的 3 个 JSON。有没有办法控制 HBase 读取并仅在所有 3 个表都获取新数据时合并它们?
最佳答案
如果您以相同的频率安排三个 GetHBase 处理器(假设每 5 分钟一次)并同时启动它们,那么它们应该在相似的时间生成一个流文件。唯一奇怪的情况可能是,如果从 HBase 检索数据需要更长的时间,因此您可能需要确保调度周期比从 HBase 检索数据的最长预期时间长。
一旦它们都以相同的频率安排,您就可以将 MergeContent 设置为最小组大小为 3,它应该等到看到所有三个流文件。
我不清楚您是在询问连接三个表中的记录,还是简单地合并它们。上述方法是将它们合并,您将得到一个流文件,其中内容依次包含三个传入流文件的内容。
关于apache-nifi - 控制Nifi读取3个表以合并所有表的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42560901/