Mapreduce 无法从复杂视图中获得预期结果

Mapreduce 无法从复杂视图中获得预期结果,mapreduce,couchdb,couchdb-futon,Mapreduce,Couchdb,Couchdb Futon,这是一个有点复杂的问题,因为我处理的数据有点大 我的文件结构如下: 以及以下映射功能: 稍作说明,此函数通过示例文档收集从1到5的所有字符组合的列表,并为其提供1或0,以指示该特定字符组合的赢或输。这是通过获取团队的powerset来实现的,在发出数组键和整数以表示赢或输时忽略空集 我遇到的问题是减少数据量。我的目标是获得游戏中特定角色组的获胜率,这些数据来自于游戏。该视图采用如下格式的密钥:[1],并应输出获胜率和该对角色玩的游戏 所以我的reduce函数应该是这样的: 然而,当我这样做的时

这是一个有点复杂的问题,因为我处理的数据有点大

我的文件结构如下:

以及以下映射功能:

稍作说明,此函数通过示例文档收集从1到5的所有字符组合的列表,并为其提供1或0,以指示该特定字符组合的赢或输。这是通过获取团队的powerset来实现的,在发出数组键和整数以表示赢或输时忽略空集

我遇到的问题是减少数据量。我的目标是获得游戏中特定角色组的获胜率,这些数据来自于游戏。该视图采用如下格式的密钥:
[1]
,并应输出获胜率和该对角色玩的游戏

所以我的reduce函数应该是这样的:

然而,当我这样做的时候,我并没有把这对搭档玩的所有游戏都减少。在我的测试数据库中,我有96个游戏由上述两人玩
[1,18]
,但当我使用该键在上运行map和reduce时,我发现只有2个游戏玩,赢率为
null

注意:这种情况似乎只是前后不一致。对于我的数据,当我使用键
[1,18]
进行查询时,我会得到准确的结果

[1] “>

我有点不知所措,不知该怎么调试,希望能得到一些帮助。我很乐意添加更多细节、GIST,甚至是蒲团输出的图片,如果这对我有帮助的话


我还没有太多的理由来解释这一点,也没有得到确认,但似乎传递给reduce函数的数据的格式并不是我所期望的格式,但我不确定为什么会是这样。

您能告诉我您提供的GIST的预期输出是什么吗?我为这对GIST运行了它们[1,20]通过
reduce=false
,我得到了看起来正确的结果。问题不在于map,我也得到了预期的结果;类似这样:
{[1]:0[1]:1}
。然而,我reduce的winrate可能为1,因为出于某种原因,并非所有游戏都在reduce中计算。此外,此视图仅在传递密钥时有用,如果不清楚的话。我重新编写了一点,并添加了map和reduce结果的图片。您能给出用于密钥值的http查询吗ir[1,18]?如果可能,您是否可以将数据库上载到cloudant或Irishoch,以便更易于测试?