DynamoDB是否支持AVG,MAX,MIN等聚合功能?

时间:2014-10-10 11:53:47

标签: amazon-dynamodb

我尝试使用DynamoDB文档并使用QueryResult使用示例,我无法找到如何在DynamoDB中使用min,max和avg的任何来源(我使用Java API)。

2 个答案:

答案 0 :(得分:9)

未提供。您可以通过执行查询或使用过滤器扫描并自行计算值来实现这些功能。为了简化一些事情,您可以使用Count parameter仅返回该查询/扫描而不是实际项目返回的项目数。 (请注意,count只返回部分计数 - 您可能需要对多页查询/扫描中的计数进行求和)。

或者,您可以维护一个单独的表,在主表更新时为您存储这些值(请注意,保持同步可能很棘手,您必须使用某种形式的事务管理并考虑发电机的最终的一致性模型)。

答案 1 :(得分:4)

我遇到了和你一样的问题,然后我有2个想法来解决这个问题。 第一个 - 使用查询/扫描查询所有数据,然后在java代码中聚合您的数据。 第二个 - 使用Hive SQL,你可以一起使用Hive和DyanmoDB,并在Hivql中聚合你的数据。

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/EMRforDynamoDB.Tutorial.html