キーに基づいて行を取得するための 1 つの CQL のキーと、「IN」キーワードを使用してキーのリストを取得し、ORDER BY 句を持つ別の CQL を取得できる列ファミリを作成しようとしています。私が取得しているデータは、列名ではなく列の値からのものです。私が抱えている問題は、これを達成するために列ファミリーをセットアップしようとしていることです。列ファミリを作成するためのこの cli コマンドがありますが、挿入を行うと、主キーに関する奇妙な例外が発生します。以下は、列ファミリーが作成された後に列値の挿入を行う際の cli とエラーです。
列ファミリーを作成するために使用される cli コマンド:
create column family video_item_details
with key_validation_class = 'CompositeType(IntegerType,UTF8Type)'
and comparator = 'UTF8Type'
and column_metadata = [
{column_name : key, validation_class: IntegerType, index_type: KEYS}
{column_name : name, validation_class : 'UTF8Type', index_type: KEYS}
{column_name : description, validation_class :'UTF8Type'}
{column_name : url, validation_class : 'UTF8Type'}
{column_name : play_time, validation_class : 'UTF8Type'}
{column_name : type, validation_class : 'UTF8Type'}
]
with caching='ALL';
挿入中のエラーは次のとおりです。
com.datastax.driver.core.exceptions.InvalidQueryException の挿入中にエラーが発生しました: 必須の PRIMARY KEY 部分 key2 がありません
実行しようとしていた挿入ステートメントは次のとおりです。
INSERT INTO video.video_item_details(key, name, description, url, play_time, type) values
(1,'Gettysburg','Gettysburg Movie Trailer','test','2:53','Streaming')
Cassandra にこの種のクエリを実行させる方法についてアドバイスをいただき、ありがとうございます。
よろしく、 -トニー