【发布时间】:2014-06-06 04:40:54
【问题描述】:
我正在开发 riak-java 客户端。在做 Mapreduce 时,我得到了以下输出。 现在我想从我得到的结果集中获取 ticketValue 的总和。我想通过传递 userID 来获取它。
更新
从这个方法我得到如下结果集
def fetchTicketValue(userID:String): Boolean = {
try{
val result = riakClient.mapReduce("table-ticket","userID:Kim")
.addMapPhase(new NamedJSFunction("Riak.mapValuesJson"),true)
.execute
val o:String = result.getResultRaw
}catch{
case e : Exception =>
e.printStackTrace
}
true
}
我之前忘了提到大括号[{....},{....},{....}]。
[{"ticketValue":3,"userID":"Kim","Date":"date","ticketID":"98394kjdf","ticketSource":"reg"},{"ticketValue":3,"userID":"Kim","Date":"date","ticketID":"98394kjdf","ticketSource":"reg"},{"ticketValue":3,"userID":"Kim","Date":"date","ticketID":"98394kjdf","ticketSource":"reg"}]
LIKE: userID:"kim"
RESULT: ticketValue:9
如何获取数据?任何想法都将受到高度赞赏。 提前致谢。
(Riak 版本:1.3.2 和 Riak Java 客户端:1.1.4)
【问题讨论】:
-
您想在 Scala 中还是在 reduce 阶段计算总和?
-
(我不知道 Riak。)结果是否像您在上面写的那样作为裸字符串返回?
-
让我用 SQL 的例子来解释一下。上面的字符串与查询的结果相同
Select * from table_name where userID="Kim" -
@Joe 是的,我想计算 scala 中的总和。我的要求是,当我在 fetch 之后得到一个 resultset 时,我需要总结票证价值。正如上面给定的行,它就像 SQL 的数据表,我想像我们在 SQL 中做的
sum(ticketvalue)一样 总结票据价值。希望你能理解我的逻辑。