2017-04-05 83 views
0

我在DynamoDB中查看了下表。查詢DynamoDB表

ID Author  storyName 
1 AuthorOne Story 1 
2 AuthorOne Story 2 
3 AuthorTwo Story 1 
4 AuthorTwo Story 2 

我是DynamoDB的新手,我需要一個將檢索所有作者姓名的查詢。如果它是一個常規數據庫(RDBMS),我會使用下面的查詢。

select DISTINCT Author from tableName; 

如何在DynamoDB中執行此操作?

回答

1

您可以掃描表格,僅投影ID和作者屬性,然後.map(item -> item.getS("Author")從項目到作者屬性和.collect(Collectors.toSet())。如果您不希望在每次需要查找作者列表時都掃描表,則需要將更新傳輸到AWS ElasticSearch或其他支持計數的平臺。

0

DynamoDB沒有像SQL這樣的內部構建功能來獲取屬性的不同值。

但是,您可以使用AWS EMR服務,該服務與DynamoDB集成以運行SQL,如Distinct查詢。

蜂巢查詢: -

所有按字母順序排列的要素類型(feature_class)的:

SELECT DISTINCT feature_class 
FROM ddb_features 
ORDER BY feature_class; 

Refer the data in DynamoDB table with Apache Hive on Amazon EMR