2017-01-31 65 views
0

有沒有辦法讓我使用自定義比較函數對cassandra中的聚類鍵進行排序。爲Cassandra的聚類列定義自定義比較器

我的表定義是類似以下內容:

CREATE TABLE temp (user_id text, data_id int, data text, PRIMARY KEY(user_id, data_id)); 

這裏,data_id將用作集羣列。我想知道是否可以定義一個自定義比較器來指定寫入磁盤時的順序data_id

感謝您的幫助提前:)。

+0

在這裏覆蓋http://stackoverflow.com/questions/21427716/use-of-order-by-clause-in-cassandra,看起來像這樣沒有改變在此期間。有沒有一些具體的用例來做到這一點?你的訪問模式是什麼? –

+0

在我的用例中,data_id本身並沒有通過簡單地將asc或desc函數應用於它來定義任何合理的順序。 data_id是一個包含多個部分的合成ID。排序需要考慮data_id中的一些編碼信息。而且,一個列族中的data_id的排序功能可能不同於另一個列族中的排序功能。 – user1855193

+1

通常,如果這些數據是以某種方式合成的,則應該在應用程序級別進行拆分,然後發送給cassandra,因爲它應該被保存。在一個字段中保存多個值是使用較舊的cassandra varsions的模式。這都是關於訪問模式的,所以你必須準備好你要訪問的數據。 –

回答

0

目前cassandra並不支持這一點,以我所知。

請參考上面發表的評論來了解什麼是正確的方法。