爲了提高我對赫克託和卡桑德拉的技能,我嘗試使用不同的方法來查詢卡桑德拉的數據。如何在使用RandomPartioner和Hector作爲客戶端時將已排序的行從cassandra中取出?
目前我正在嘗試製作一個簡單的消息系統。我想按照時間順序將最新發布的消息先發送到最後發佈的消息。
在普通的sql中可以使用'order by'。我知道如果您使用OrderPreservingPartitioner,但可以使用此分區器,並且效率低於RandomPartioner,則可以使用此分區器。我想創建一個具有時間戳als值的輔助列上的索引,但我無法弄清楚如何獲取數據。我相信我必須至少使用兩個查詢。
我列的家庭是這樣的:
create column family messages
with comparator = UTF8Type
and key_validation_class=LongType
and compression_options =
{sstable_compression:SnappyCompressor, chunk_length_kb:64}
and column_metadata = [
{column_name: message, validation_class: UTF8Type}
{column_name: index, validation_class: DateType, index_type: KEYS}
];
我不知道我是否應該使用數據類型或長的索引列,但我認爲這不是對這個問題很重要。
那麼我怎樣才能得到數據排序?如果可能的話,我想知道它已經完成了白色的CQL語法和白屏。
在此先感謝。
感謝@DNA上http://rubyscale.com/2011/basic-time-series-with-cassandra/後幫助了我很多! – Rubenski