我正在使用REPLACE输出类型,这意味着MR结果存储在集合中。
两个http请求在不同的线程中同时执行MR - 这意味着我不能使用相同的输出集合名称,因此每个请求都会有一个集合,这可能会导致创建许多MR结果集合。
你如何应对这种情况?你如何限制并发请求的数量?如果查询重复,您是否保留MR结果集合?
简而言之,我很想知道其他人如何管理这些MR集合(如果有的话)。
我正在使用mongo java驱动程序(2.7.3)和Restlet(2.0.10)
感谢。
答案 0 :(得分:0)
如果结果将被多次使用,那么为每个map-reduce查询创建一个唯一的集合是有意义的,并且只要您需要答案,就可以从该集合中检索答案。
在服务器中放置一个表示MR正在运行的标志可能会使您无法同时执行MR集合。如果MR作业是一项耗费资源的工作,最好将MR的结果保存在某处并在需要时检索它。