riak mapreduce“未找到”输出

时间:2012-09-30 09:28:49

标签: mapreduce riak

我正在尝试map reduce中的一个函数,它对数据进行排序并返回它。当输入查询中的所有桶密钥对都存在于riak集群中时,它可以很好地工作。当桶/密钥对不存在时,它会给出如下输出。

[{"not_found":{"bucket":"newspaper-issue","key":"56276","keydata":"undefined"}}]

我无法从地图阶段删除此输出,即使我在地图阶段只是return [],它也会返回此单个对象。

我的问题是如何避免此输出,因为在输入中可能会丢失一些存储桶/密钥。

地图功能是这样的:

"language" => "javascript",
"source" => "function(value,keyData,arg){
   return []
 },
"keep"=>true

1 个答案:

答案 0 :(得分:2)

我发现这已经在我们的邮件列表中为您解答了,但是想在这里也提供答案:

在reduce阶段有一个内置的JS函数来修复它; filterNotFound()

return  Riak.filterNotFound(your_object_passed_from_map_phase);