我正在尝试读取3个HBase表上的新表条目(使用GetHBase处理器)并将它们合并为单个JSON。但是每个GetHBase处理器在其各自的表上发生新插入时立即运行。在合并内容之后(使用MergeContent处理器),我分别为3个表的数据获得了3个JSON&#39。有没有办法控制HBase读取并仅在所有3个表获取新数据后合并它们?
答案 0 :(得分:2)
如果您在同一频率上安排三个GetHBase处理器,让我们说每隔5分钟,并同时启动它们,那么它们都应该在相似的时间生成一个流文件。唯一奇怪的情况可能是,如果他们花了很长时间从HBase检索数据,那么您可能希望确保调度周期长于HBase最长的预期检索。
一旦它们都以相同的频率安排,您可以将MergeContent设置为最小组大小为3,它应该等到看到所有三个流文件。
我不清楚你是在询问加入三张桌子的记录,还是仅仅合并它们。上面的方法是关于合并它们,你将获得一个流文件,其中内容一个接一个地包含三个传入流文件的内容。