Couchdb Cloudant列表函数或单独的reduce
所以我知道Cloudant是基于couchdb的。在我返回的一个视图中,我得到了一个包含许多行的列表,例如:Couchdb Cloudant列表函数或单独的reduce,couchdb,reduce,cloudant,Couchdb,Reduce,Cloudant,所以我知道Cloudant是基于couchdb的。在我返回的一个视图中,我得到了一个包含许多行的列表,例如: {"rows":[ {"key":[2015,10,7,"one"],"value":2}, {"key":[2015,10,7,"two"],"value":1}, {"key":[2015,10,7,"three"],"value":2} .... ]} 上述解决方案行之有效,最初是提出的。然而,现在我的数据集正在显著增长&行数可以达到20k 对于return对象,
{"rows":[
{"key":[2015,10,7,"one"],"value":2},
{"key":[2015,10,7,"two"],"value":1},
{"key":[2015,10,7,"three"],"value":2}
....
]}
上述解决方案行之有效,最初是提出的。然而,现在我的数据集正在显著增长&行数可以达到20k
对于return对象,当然有#行的“计数”。我希望通过couchdb中提到的列表函数来运行该视图的输出,而不是返回所有这些数据
所以我想有几个问题:
谢谢 这是的一个实例。这种天真的解决方案无法扩展。但只要您的计算资源大于数据大小,您最终就可以进行精确计算 _list函数可能不会给您带来任何好处,但我想您可以尝试一下。_list函数仍必须等待收集视图中的所有结果,然后才能执行函数以开始计算unique
可选地,虽然您的数据大小仍然相对较小,如果它较小,但您可以考虑将您的Cyror数据存储到DASDB并使用SQLSELECT语句(尽管仍有大量的时间来计算)。p>
在那之后,可以选择运行第二个reduce,或者更好的是,使用HyperLogLog库/算法来准确、及时地估计您的不同计数是否开始变大。我不确定我是否理解您的问题。但是,如果只想获得视图中的总行数,而不返回任何数据,则可以使用
limit=0
作为参数查询视图
例如:
让您了解simplegeo_places
测试数据库有2170万个文档:
{“总计行数”:21735117,“偏移量”:0,“行数”:[
]}
请注意,total_rows
是视图中的总行数,而不是在未指定limit=0的情况下返回的行数
PS:是的,Cloudant确实支持列表函数,您可以使用head
参数访问总计行