DynamoDB-집계
DynamoDB는 집계 함수를 제공하지 않습니다. 이러한 작업을 수행하려면 쿼리, 스캔, 색인 및 다양한 도구를 창의적으로 사용해야합니다. 이 모든 상황에서 이러한 작업에서 쿼리 / 스캔의 처리량 비용이 클 수 있습니다.
선호하는 DynamoDB 코딩 언어에 라이브러리 및 기타 도구를 사용할 수도 있습니다. 사용하기 전에 DynamoDB와의 호환성을 확인하십시오.
최대 또는 최소 계산
결과의 오름차순 / 내림차순 저장 순서, Limit 매개 변수 및 가장 높은 값과 가장 낮은 값을 찾기 위해 순서를 설정하는 매개 변수를 활용합니다.
예를 들면-
Map<String, AttributeValue> eaval = new HashMap<>();
eaval.put(":v1", new AttributeValue().withS("hashval"));
queryExpression = new DynamoDBQueryExpression<Table>()
.withIndexName("yourindexname")
.withKeyConditionExpression("HK = :v1")
.withExpressionAttributeValues(values)
.withScanIndexForward(false); //descending order
queryExpression.setLimit(1);
QueryResultPage<Lookup> res =
dynamoDBMapper.queryPage(Table.class, queryExpression);
카운트 계산
사용하다 DescribeTable그러나 테이블 항목의 수를 얻으려면 오래된 데이터를 제공합니다. 또한 Java를 활용하십시오.getScannedCount method.
활용 LastEvaluatedKey 모든 결과를 제공합니다.
예를 들면-
ScanRequest scanRequest = new ScanRequest().withTableName(yourtblName);
ScanResult yourresult = client.scan(scanRequest);
System.out.println("#items:" + yourresult.getScannedCount());
평균 및 합계 계산
인덱스와 쿼리 / 스캔을 활용하여 처리 전에 값을 검색하고 필터링합니다. 그런 다음 객체를 통해 해당 값에 대해 조작하십시오.