javascript - MapReduce 上的 Riak 排序

标签 javascript python sorting mapreduce riak

function(values) { 
    return values.sort(
        function(a, b) {
            return b['timestamp'] - a['timestamp'];
        }
    );
}

我当前正在为 Riak MapReduce 查询的缩减阶段执行上述代码,但它未按时间戳键的值正确排序。有什么想法吗?

我正在使用 Riak Python 客户端,这是包含上述归约步骤的完整代码:

query = riak_client.add('bucket')

query.map("function(v) { var data = JSON.parse(v.values[0].data); if (data.item == 'A') { return [[v.key, data]]; } return []; }")

query.reduce("function(values) { return values.sort(function(a, b) { return b['timestamp'] - a['timestamp']; }); }")

for result in query.run():
    print result

最佳答案

尝试将返回部分括在方括号中,从而有效地返回结果数组。

function(values) { 
  return values.sort(
    function(a, b) {
        return b['timestamp'] - a['timestamp'];
    }
  );
}

让它看起来像这样:

function(values) { 
  return [values.sort(
    function(a, b) {
        return b['timestamp'] - a['timestamp'];
    }
  )];
}

关于javascript - MapReduce 上的 Riak 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9752931/

相关文章:

python - 如何使用 Pandas 删除数据框中具有空列的行

python - while 循环中的 Spotipy 请求速度

arrays - O(n) 中的 2 个键搜索算法

algorithm - 对部分排序列表进行排序的最佳方法是什么?

javascript - 为什么不显示消息?

javascript - 遍历 JavaScript "getElementsByTagName()"对象

python - 在python中获取html标签值

javascript - 如何使用非键属性上的条件来迭代 IndexedDB objectStore?

javascript - canJS:加载关联模型,但只保存 "base"模型

PHP - 如何将项目添加到子数组,然后按新顺序对父数组进行排序?