」在Cassandra中,一行可能非常長,並存儲時間單位的相關數據。例如,一行可能如下所示:如何獲取cassandra的長行中的最後一行「
RowKey: "weather"
name=2013-01-02:temperature, value=90,
name=2013-01-02:humidity, value=23,
name=2013-01-02:rain, value=false",
name=2013-01-03:temperature, value=91,
name=2013-01-03:humidity, value=24,
name=2013-01-03:rain, value=false",
name=2013-01-04:temperature, value=90,
name=2013-01-04:humidity, value=23,
name=2013-01-04:rain, value=false".
9列3天的天氣信息。 時間是這一行的主鍵。所以這一行的順序是基於時間的。
我的問題是,有什麼方法可以讓我做這樣的查詢:這一行中最後/第一天的溼度值是多少?我知道我可以在CQL中使用Order By語句,但由於此行已按時間排序,因此應該有一些方法可以直接獲取第一個/最後一個,而不是進行另一種排序。或者cassandra已經在Order By聲明下對它進行了優化?
另一種我能想到的方式是,在這一行中存儲另一列名爲「last_time_stamp」的數據,該數據總是在插入新數據時進行更新。但是,每次插入新的天氣數據時都需要更新一次。
感謝您的任何建議!:)