2

如果我在 Mongo DB 上有 100 万条记录,并且每条记录有 5 KB 大。假设我想对这些数据运行 Map-Reduce,并想估计这个应用程序所需的 RAM。在 map-reduce 操作期间,不会对该数据库进行读取或写入。map-reduce 将聚合一些记录并对聚合记录进行逻辑比较。

我想了解 map-reduce 如何将数据带入 RAM 以及如何计算工作集(例如:我是否应该假设 1 MM x 5 Kb 将是我的工作集)。

4

1 回答 1

1

据我了解,Map-Reduce 作业的工作集将是您将在其中运行 map() 函数的整个数据集。例如,如果您的数据是 1M 对象并且您的 map() 函数查看每个文档,那么工作集将为 1M x 5K。如果您使用数据的某些子集(例如 500K 对象)为 map() 函数提供数据,那么它将是 500K x 5K。在任何一种情况下,您都必须包括任何预定义索引的大小。

于 2012-06-07T15:19:29.163 回答