
- DynamoDB 教程
- DynamoDB - 首頁
- DynamoDB - 概述
- DynamoDB - 基本概念
- DynamoDB - 環境
- DynamoDB - 操作工具
- DynamoDB - 資料型別
- DynamoDB - 建立表
- DynamoDB - 載入表
- DynamoDB - 查詢表
- DynamoDB - 刪除表
- DynamoDB - API 介面
- DynamoDB - 建立專案
- DynamoDB - 獲取專案
- DynamoDB - 更新專案
- DynamoDB - 刪除專案
- DynamoDB - 批次寫入
- DynamoDB - 批次讀取
- DynamoDB - 查詢
- DynamoDB - 掃描
- DynamoDB - 索引
- 全域性二級索引
- 區域性二級索引
- DynamoDB - 聚合
- DynamoDB - 訪問控制
- DynamoDB - 許可權 API
- DynamoDB - 條件
- Web 身份聯合
- DynamoDB - 資料管道
- DynamoDB - 資料備份
- DynamoDB - 監控
- DynamoDB - CloudTrail
- DynamoDB - MapReduce
- DynamoDB - 表活動
- DynamoDB - 錯誤處理
- DynamoDB - 最佳實踐
- DynamoDB 有用資源
- DynamoDB - 快速指南
- DynamoDB - 有用資源
- DynamoDB - 討論
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 方法。
使用LastEvaluatedKey確保它返回所有結果。
例如 -
ScanRequest scanRequest = new ScanRequest().withTableName(yourtblName); ScanResult yourresult = client.scan(scanRequest); System.out.println("#items:" + yourresult.getScannedCount());
計算平均值和總和
利用索引和查詢/掃描在處理之前檢索和過濾值。然後只需透過物件對這些值進行操作。
廣告