我有一个批量作业,用于检索大量相互独立的Web服务。从一个REST响应中检索的数据绝不依赖于其他数据,或者与其他数据一起使用,除非在处理完所有数据时计算一些轻量级统计信息。我应该使用Hadoop吗?
目前,我有分布在11个段的有效载荷集,每个段运行在单独的Java线程中。一旦最后一个线程完成,最终的统计数据就会被计算出来。根据每个REST请求是否具有相对于先前检索的新数据,整个批处理可能需要4到25分钟之间的任何时间。
批量大小相对适中,上述时间窗口并不差,因为数据每小时只更新一次,所以如果我每30分钟运行一次cron作业,实际上我就可以避免跳过时间序列。但是,我正在考虑批量增加。
我是Hadoop的新手,我想知道这个用例场景是否是MapReduce实现的一个很好的例子。一般来说,您如何决定何时使用多线程应用程序与加强Hadoop?
感谢
每一个有效载荷项目都在MySQL中持久化,并与其他任何无关。每个节点最后都会将抓取的摘要传回给主站,并从那里进行计算。这可能发生在坚持存储的情况下,但当然,从内存来看它更好。 – amphibient