我有一个批处理作业,它检索大量相互独立的 Web 服务。从一个 REST 响应中检索到的数据绝不依赖于或与来自另一个 REST 响应的数据一起使用,除非在所有处理完成后计算一些轻量级统计数据。
目前,我将有效负载集分布在 11 个段中,每个段在单独的 Java 线程中运行。完成最后一个线程后,将计算最终统计信息。根据每个 REST 请求是否具有相对于先前检索的新数据,整个批处理可能需要 4 到 25 分钟之间的任何时间。
批量大小相对适中,上述时间窗口也不错,因为数据仅每小时左右更新一次,所以如果我每 30 分钟从 cron 运行一次作业,我几乎消除了跳过时间序列的机会。但是,我正在考虑增加批量大小。
我是 Hadoop 新手,我想知道这个用例场景是否是 MapReduce 实现的一个很好的例子。一般来说,您如何决定何时使用多线程应用程序与升级到 Hadoop?
谢谢