ヘクター:hector-core-1.0-5、cassandra-1.1.2
I have a user_event CF created through cqlsh as follows:
user_event(
user_name text,
event_id timeuuid,
event_data text,
PRIMARY KEY(user_name, event_id))
私がHectorで書き込もうとしているクエリは、次のとおりです。現在の時刻より前の特定のユーザーの最後の5つのイベントを選択します。
私のコードは次のとおりです。
...
{
Composite start = compositeFrom(TimeUUIDUtils.getUniqueTimeUUIDinMillis(),
Composite.ComponentEquality.EQUAL);
Composite end = compositeFrom(TimeUUIDUtils.getUniqueTimeUUIDinMillis(),
Composite.ComponentEquality.GREATER_THAN_EQUAL);
List<HColumn<Composite, String>> cList= dao.getCompositeQueryIterator(key, start, end, stringSerializer);...
}
public static Composite compositeFrom(UUID componentName, Composite.ComponentEquality equalityOp)
{
Composite composite = new Composite();
composite.addComponent(0, componentName, equalityOp);
return composite;
}
開始コンポジットと終了コンポジットに使用する演算子と値がわからないため、時間順に並べられた最後のn個のイベントを取得できます。また、別の質問:getUniqueTimeUUIDinMillis()はevent_idに使用するのに適切ですか、それとも別のタイムスタンプ列を作成してスライスする必要がありますか?