2
我需要在卡桑德拉小POC,我需要創建以下類型的列族:我可以在cassandra中創建以下列家族嗎?
用戶提供唯一的字符串ID(例如「1234」)應存儲由時間戳下令所有進來的他的消息。
"1234"=>
[
1348008041376000 : { target_uid : 4321, msg : "Hello, how are you?" },
1348008041377000 : { target_uid : 3213, msg : "And how Are you?" }
] ,
"4321"=>
[
1348008041376000 : { target_uid : 1234, msg : "Thank you I'm fine." },
1348008041377000 : { target_uid : 2345, msg : "And how Are you?" }
]
我用Google搜索了很久,已經看到很多的例子,但我仍然無法實現它應該是什麼類型的列族的?
我完全新的卡桑德拉,我知道它聽起來像功課:),但請幫助。
更新:
我試圖創建以下CLI創建家庭列,但它似乎並沒有工作。
CREATE COLUMN FAMILY messages with comparator = DateType and key_validation_class=UTF8Type AND column_metadata=[ {column_name: msg, validation_class: UTF8Type}];
java.lang.RuntimeException: org.apache.cassandra.db.marshal.MarshalException: unable to coerce 'msg' to a formatted date (long)
你可以請cli語法幫忙嗎?
感謝您的迴應,我只是試圖做到這一點的CLI和我它根據我的理解創建查詢將會和你的查詢一樣,但有些事情是錯誤的。你能幫忙嗎? –
您已將比較器(列名稱)定義爲DateType類型,然後在列元數據中重新定義基於文本的列名稱「msg」。第一種技術適用於動態列系列,第二種適用於靜態列系列。你需要做一個或另一個。 – phatfingers
使用'default_validation_class'而不是'column_metadata'。 – phatfingers