开发手册 欢迎您!
软件开发者资料库

DynamoDB - 聚合

DynamoDB聚合 - 从简单和简单的步骤学习DynamoDB,从基本到高级概念,包括概述,基本概念,环境,操作工具,数据类型,创建,加载,查询,删除表,API接口,创建,获取,更新,删除项目,批量写入,批量检索,查询,扫描,索引,全局,本地二级索引,聚合,访问控制,权限API,条件,Web身份联合,数据管道,数据备份,监控,CloudTrail,MapReduce,表活动,错误处理,最佳实践。

DynamoDB不提供聚合功能.您必须创造性地使用查询,扫描,索引和各种工具来执行这些任务.在所有这些中,这些操作中查询/扫描的吞吐量开销可能很大.

您还可以选择使用库和其他工具作为首选的DynamoDB编码语言.在使用之前确保它们与DynamoDB的兼容性.

计算最大值或最小值

利用结果的升序/降序存储顺序,Limit参数,以及设置顺序以查找最高和最低值的任何参数.

例如 :

Map eaval = new HashMap<>(); eaval.put(":v1", new AttributeValue().withS("hashval")); queryExpression = new DynamoDBQueryExpression()    .withIndexName("yourindexname")    .withKeyConditionExpression("HK = :v1")    .withExpressionAttributeValues(values)    .withScanIndexForward(false);                //descending order queryExpression.setLimit(1); QueryResultPage res =    dynamoDBMapper.queryPage(Table.class, queryExpression);

计算计数

使用 DescribeTable 获取表项的计数,但是,请注意它提供了陈旧的数据.此外,使用Java getScannedCount方法.

利用 LastEvaluatedKey 确保它提供所有结果.

例如 :

ScanRequest scanRequest = new ScanRequest().withTableName(yourtblName); ScanResult yourresult = client.scan(scanRequest); System.out.println("#items:" + yourresult.getScannedCount());

计算平均值和总和

利用索引和查询/扫描在处理之前检索和过滤值.然后只需通过一个对象操作这些值.

2009-2024 Copyright Wonhero.Com All Rights Reserved
深圳幻海软件技术有限公司 版权所有