2017-04-05 11 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")をItemからAuthor属性に、.collect(Collectors.toSet())にスキャンできます。著者のリストを探す必要があるたびにテーブルをスキャンする必要がない場合は、AWS ElasticSearchまたはカウントをサポートする他のプラットフォームにテーブルの更新をストリーミングする必要があります。

0

DynamoDBには、属性とは異なる値を取得するためのSQLのようなビルド機能はありません。

AWS EMRサービスを使用してDynamoDBと統合し、DistinctクエリのようなSQLを実行できます。

ハイブクエリ: -

機能タイプ(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

関連する問題