如何使用JAVA

时间:2018-02-12 19:51:03

标签: java amazon-web-services amazon-dynamodb

我的表格如下:

|ID(primary)|date(String)|Result(number)|Accuracy(Number)|
|   edfca   |   20180101 |    12        |     59.99      |
|    yrdfa  |  20180109  |    72        |     91.49      |
| arfead    | 20180101   |    122       |     32.12      |
|  readssda | 20180112   |     12       |       33       |
| geeddar   | 20180123   |    3         |     81.11      | 
|  rogeasa  |  20180203  |     14       |       81       |
| swiwads   | 20180205   |     32       |      13.12     |

我希望获得Accuracy列的总和。 dynamoDB是否提供类似于SQL的列的总和:

SQL查询:

SELECT SUM(column_name)
FROM table_name
WHERE condition;

是否有类似于Above的查询。

从下面的文章:有一个保留关键字' SUM' https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html

但是我没能找到在Java中使用关键字SUM的示例。

从下面的链接中,他们提到了使用HiveQL的示例: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/EMRforDynamoDB.Querying.html#w2ab1c33c13c17c11

有没有选项可以使用Java获取列的SUM。

我有一个备用选项,即使用SCAN操作获取所有项目,然后为所有项目添加列。但是,如果存在大量数据,这是一个缓慢的过程需要花费很多时间。

提前致谢

1 个答案:

答案 0 :(得分:2)

恕我直言,聚合函数(或者说缺少它们)是使用DynamoDB时的难点之一。无论如何,Hive SQL都会扫描/查询。

如果您知道需要哪些聚合,可以使用dynamodb流(以及lambda和原子计数器)在其他表中更新它们。